FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
io_processor.hpp File Reference

FARGOS I/O Processing classes. More...

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...
 

Detailed Description

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.

Author
Geoff Carpenter
Generated: Fri Jul 31 2020 18:19:15
Support Information