FARGOS/VISTA Object Management Environment Core
..
|
FARGOS I/O Processing classes. More...
#include <utils/base/compiler_hints.h>
#include <utils/base/timed_mutex.hpp>
#include <utils/base/circular_bfr.hpp>
#include <utils/shared_vars/shared_variable.hpp>
Go to the source code of this file.
Classes | |
struct | IO_metaBlock_header |
Structure to hold meta-data related to a block of received data. More... | |
class | IO_Processor_Statistics |
Holds collected statistics for an IO_Processor object. More... | |
class | IO_Processor |
Intermediary I/O processing object for performing multi-threaded receive-and-process operations on a flow of messages. More... | |
Macros | |
#define | OS_SOCKET_TYPE int |
#define | OS_HANDLE_TYPE int |
#define | INVALID_SOCKET (-1) |
Typedefs | |
typedef int(* | IO_processBlockFP) (SharedBufferAllocRecord *rec, class IO_Processor *controller) |
Process a block of data received from an input source. More... | |
typedef ssize_t(* | IO_receiveBlockFP) (SharedBufferAllocRecord *rec, class IO_Processor *controller) |
The receiveBlock routine should retrieve data and store it into the indicated block of memory, constrained by the blockLen . More... | |
typedef int(* | IO_consumeFP) (class IO_Processor *controller) |
Long running routine which receives all input from input source. More... | |
typedef int(* | IO_processFP) (class IO_Processor *controller) |
Long running routine which processes all input made available by the corresponding consume routine. More... | |
typedef int(* | IO_blockAllocFP) (uint32_t blockLen, class IO_Processor *controller) |
typedef int(* | IO_blockFreeFP) (unsigned char *block, class IO_Processor *controller) |
Functions | |
void | setLabelForThread (pthread_t threadId, const char *label) |
template<class PARSER_TYPE > | |
int | processPacketUsingClass (SharedBufferAllocRecord *rec, class IO_Processor *controller) |
Implements a processing routine that invokes a processPacket() routine upon each incoming packet. More... | |
template<class PARSER_TYPE > | |
int | processPacketFromSourceUsingClass (SharedBufferAllocRecord *rec, class IO_Processor *controller) |
Implements a processing routine that invokes a processPacketFromSource() routine upon each incoming packet, Differs from processPacketUsingClass() by exposing the meta data header. More... | |
FARGOS I/O Processing classes.
The streaming infrastructure implemented via the IO_Processor can be used in a variety of scenarios and in single-threaded mode or with distinct threads handling the input and processing.
![]() | Generated: Fri Jul 31 2020 18:19:15
Support Information |