Simple Geolocalization and Course Transmission Protocol (SGCTP)
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Pages
SGCTP::CTransmit_UDP Class Reference

UDP transmission of SGCTP payload. More...

#include <sgctp/transmit_udp.hpp>

Inheritance diagram for SGCTP::CTransmit_UDP:
SGCTP::CTransmit SGCTP::CParameters

Public Member Functions

 CTransmit_UDP ()
 
virtual ~CTransmit_UDP ()
 
virtual ETransmitType getTransmitType ()
 Return the transmission type. More...
 
virtual int alloc ()
 Allocate resources required for data transmission (un-/serialization) More...
 
virtual int unserialize (int _iDescriptor, CData *_poData, int _iMaxSize=0)
 Unserialize the SGCTP data from the given descriptor. More...
 
- Public Member Functions inherited from SGCTP::CTransmit
 CTransmit ()
 
virtual ~CTransmit ()
 
virtual void setTimeout (int _iDescriptor, double _fdTimeout)
 Set the transmission (send/receive) timeout, in seconds. More...
 
bool hasData ()
 Return whether data are available (in the transmission buffer) More...
 
virtual bool hasPayload ()
 Return whether a payload object has been successfully associated/initialized. More...
 
virtual void resetPayload ()
 Reset (clear) the associated payload object. More...
 
virtual int initPayload (uint8_t _ui8tPayloadType=PAYLOAD_RAW)
 Associate and initialize payload object. More...
 
virtual int allocPayload ()
 Allocate resources required for payload (un-)serialization. More...
 
virtual void freePayload ()
 Free resources required for payload (un-)serialization. More...
 
virtual EPayloadType getPayloadType ()
 Return the payload type. More...
 
virtual int serialize (int _iDescriptor, const CData &_roData)
 Serialize the given SGCTP data to the given descriptor. More...
 
virtual void free ()
 Free resources required for data transmission (un-/serialization) More...
 
- Public Member Functions inherited from SGCTP::CParameters
 CParameters ()
 
 ~CParameters ()
 
CPrincipalusePrincipal ()
 Return the principal (pointer) More...
 
void reset ()
 Reset (undefines) all data. More...
 
void setSocketAddress (struct sockaddr *_ptSockaddr, socklen_t *_ptSocklenT)
 Set the network socket address (pointers to existing variables) More...
 
void setPrincipalsPath (const char *_pcPrincipalsPath)
 Set the principals (database) path (pointer to existing variable) More...
 
void setPasswordSalt (const unsigned char *_pucPasswordSalt)
 Set the cryptographic password salt/nonce (pointer to existing variable) More...
 

Protected Member Functions

virtual int send (int _iSocket, const void *_pBuffer, int _iSize, int _iFlags)
 Send data to the given descriptor. More...
 
virtual int recv (int _iSocket, void *_pBuffer, int _iSize, int _iFlags)
 Receive data from the given descriptor. More...
 
- Protected Member Functions inherited from SGCTP::CTransmit
int allocBuffer ()
 Allocate resources required for data transmission. More...
 
int recvBuffer (int _iDescriptor, int _iSize)
 Receive data from the given descriptor (and push them on the data buffer) More...
 
const unsigned char * pullBuffer (int _iSize)
 Pull data from the transmission buffer. More...
 
void flushBuffer ()
 Flush the data buffer (from pulled data) More...
 
void resetBuffer ()
 Reset the data buffer (clear all data) More...
 

Additional Inherited Members

- Public Types inherited from SGCTP::CTransmit
enum  ETransmitType { TRANSMIT_UDP = 0, TRANSMIT_TCP = 1, TRANSMIT_FILE = 128, TRANSMIT_UNDEFINED = 255 }
 Transmission types. More...
 
enum  EPayloadType { PAYLOAD_RAW = 0, PAYLOAD_AES128 = 1, PAYLOAD_UNDEFINED = 255 }
 Payload types. More...
 
- Static Public Attributes inherited from SGCTP::CTransmit
static const uint8_t PROTOCOL_VERSION = 1
 Protocol version. More...
 
- Protected Attributes inherited from SGCTP::CTransmit
unsigned char * pucBuffer
 Transmission buffer. More...
 
int iBufferSize
 Transmission buffer size. More...
 
int iBufferDataStart
 Transmission buffer actual data start offset. More...
 
int iBufferDataEnd
 Transmission buffer actual data end offset. More...
 
double fdTimeout
 Transmission timeout, in seconds. More...
 
CPayloadpoPayload
 Associated payload object. More...
 
EPayloadType ePayloadType
 Associated payload type. More...
 
- Protected Attributes inherited from SGCTP::CParameters
struct sockaddr * ptSockaddr
 Network socket address (pointer to existing variable) More...
 
socklen_t * ptSocklenT
 Network socket address length (pointer to existing variable) More...
 
const char * pcPrincipalsPath
 Principals (database) path (pointer to existing variable) More...
 
CPrincipal oPrincipal
 Principal. More...
 
const unsigned char * pucPasswordSalt
 Cryptographic password salt/nonce (pointer to existing variable) More...
 

Detailed Description

UDP transmission of SGCTP payload.

This class allows the transmission of a SGCTP payload via UDP.

Definition at line 35 of file transmit_udp.hpp.

Constructor & Destructor Documentation

SGCTP::CTransmit_UDP::CTransmit_UDP ( )
inline

Definition at line 43 of file transmit_udp.hpp.

virtual SGCTP::CTransmit_UDP::~CTransmit_UDP ( )
inlinevirtual

Definition at line 46 of file transmit_udp.hpp.

Member Function Documentation

int CTransmit_UDP::send ( int  _iDescriptor,
const void *  _pBuffer,
int  _iSize,
int  _iFlags 
)
protectedvirtual

Send data to the given descriptor.

Parameters
[in]_iDescriptorFile/socket/... descriptor
[in]_pBufferPointer to buffer (containing data to be sent)
[in]_iSizeSize of data to send
[in]_iFlagsDescriptor-specific control flags
Returns
(Positive) Quantity of data actually sent; Negative error code in case of error

Implements SGCTP::CTransmit.

Definition at line 34 of file transmit_udp.cpp.

int CTransmit_UDP::recv ( int  _iDescriptor,
void *  _pBuffer,
int  _iSize,
int  _iFlags 
)
protectedvirtual

Receive data from the given descriptor.

Parameters
[in]_iDescriptorFile/socket/... descriptor
[in]_pBufferPointer to buffer (to store received data)
[in]_iSizeSize of data to receive
[in]_iFlagsDescriptor-specific control flags
Returns
(Positive) Quantity of data actually received; Negative error code in case of error

Implements SGCTP::CTransmit.

Definition at line 47 of file transmit_udp.cpp.

virtual ETransmitType SGCTP::CTransmit_UDP::getTransmitType ( )
inlinevirtual

Return the transmission type.

Implements SGCTP::CTransmit.

Definition at line 66 of file transmit_udp.hpp.

int CTransmit_UDP::alloc ( )
virtual

Allocate resources required for data transmission (un-/serialization)

Returns
Negative error code in case of error, zero otherwise

Implements SGCTP::CTransmit.

Definition at line 60 of file transmit_udp.cpp.

int CTransmit_UDP::unserialize ( int  _iDescriptor,
CData _poData,
int  _iMaxSize = 0 
)
virtual

Unserialize the SGCTP data from the given descriptor.

Parameters
[in]_iDescriptorFile/socket/... descriptor
[in]_poDataSGCTP data object (to store unserialized/received data)
[in]_iMaxSizeMaximum size of expected data (0 = no limit)
Returns
(Positive) Quantity of data actually unserialized/received; Negative error code in case of error

Reimplemented from SGCTP::CTransmit.

Definition at line 65 of file transmit_udp.cpp.


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