tcEDDDataPipe Class Reference

OS abstraction interface for data communications pipe. More...

#include <EDDDataPipe.h>

List of all members.

Public Member Functions

 tcEDDDataPipe (void)
virtual ~tcEDDDataPipe (void)
virtual int GetData (void *apBuffer, int anBufferSize, int TimeOutMs=100)=0
virtual int SendMsg (void *apBuffer, int anMessageSize)=0
virtual int GetMaxMessageLen (void)=0
uint32_t NextSeqNo (void)

Protected Attributes

uint32_t mnSeqNo
 tracked sequence number for output messages


Detailed Description

OS abstraction interface for data communications pipe.

OS abstraction layer for a data communications pipe. The data pipe is assumed reliable and sequential.

Definition at line 17 of file EDDDataPipe.h.


Constructor & Destructor Documentation

tcEDDDataPipe::tcEDDDataPipe ( void   )  [inline]

Definition at line 20 of file EDDDataPipe.h.

virtual tcEDDDataPipe::~tcEDDDataPipe ( void   )  [inline, virtual]

Definition at line 21 of file EDDDataPipe.h.


Member Function Documentation

virtual int tcEDDDataPipe::GetData ( void *  apBuffer,
int  anBufferSize,
int  TimeOutMs = 100 
) [pure virtual]

Get available input data from a Data Pipe. The tcEDDMsgLoop periodically polls each data pipe for commands from a connected client using this method call.

Parameters:
apBuffer pointer to buffer to store retrieved data
anBufferSize size of the buffer in bytes
TimeOutMs time to wait for data to arrive (may be zero)
Returns:
number of bytes received (0 is OK) or < 0 if a pipe error occurs

virtual int tcEDDDataPipe::GetMaxMessageLen ( void   )  [pure virtual]

This method is used to enforce maximum message lengths, which may be link layer specific (e.g., a UDP implementation may specify a maximum message size at approximately the MTU size). Transports which are not limited in size should specify a reasonable size, such as 16K bytes.

All EDD data source protocols support breaking down of data type (images, plots, etc.) into smaller message sets.

Returns:
maximum message size (must be > 0)

uint32_t tcEDDDataPipe::NextSeqNo ( void   )  [inline]

Utility method to get the next data pipe sequence number. The abstraction layer manages the updating of the message sequence numbers.

Returns:
next sequence number for next transmitted message

Definition at line 65 of file EDDDataPipe.h.

virtual int tcEDDDataPipe::SendMsg ( void *  apBuffer,
int  anMessageSize 
) [pure virtual]

Send a message out the data pipe.

Parameters:
apBuffer pointer to the buffer containing the message to send.
anMessageSize number of bytes to transmit
Returns:
number of bytes transmitted, <0 on error


Member Data Documentation

uint32_t tcEDDDataPipe::mnSeqNo [protected]

tracked sequence number for output messages

Definition at line 68 of file EDDDataPipe.h.


The documentation for this class was generated from the following file:

Generated on Sat Apr 25 17:20:44 2009 for EDD by  doxygen 1.5.8