Simple Geolocalization and Course Transmission Protocol (SGCTP)
|
UDP transmission of SGCTP payload. More...
#include <sgctp/transmit_udp.hpp>
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 () | |
CPrincipal * | usePrincipal () |
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... | |
CPayload * | poPayload |
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... | |
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.
|
inline |
Definition at line 43 of file transmit_udp.hpp.
|
inlinevirtual |
Definition at line 46 of file transmit_udp.hpp.
|
protectedvirtual |
Send data to the given descriptor.
[in] | _iDescriptor | File/socket/... descriptor |
[in] | _pBuffer | Pointer to buffer (containing data to be sent) |
[in] | _iSize | Size of data to send |
[in] | _iFlags | Descriptor-specific control flags |
Implements SGCTP::CTransmit.
Definition at line 34 of file transmit_udp.cpp.
|
protectedvirtual |
Receive data from the given descriptor.
[in] | _iDescriptor | File/socket/... descriptor |
[in] | _pBuffer | Pointer to buffer (to store received data) |
[in] | _iSize | Size of data to receive |
[in] | _iFlags | Descriptor-specific control flags |
Implements SGCTP::CTransmit.
Definition at line 47 of file transmit_udp.cpp.
|
inlinevirtual |
Return the transmission type.
Implements SGCTP::CTransmit.
Definition at line 66 of file transmit_udp.hpp.
|
virtual |
Allocate resources required for data transmission (un-/serialization)
Implements SGCTP::CTransmit.
Definition at line 60 of file transmit_udp.cpp.
|
virtual |
Unserialize the SGCTP data from the given descriptor.
[in] | _iDescriptor | File/socket/... descriptor |
[in] | _poData | SGCTP data object (to store unserialized/received data) |
[in] | _iMaxSize | Maximum size of expected data (0 = no limit) |
Reimplemented from SGCTP::CTransmit.
Definition at line 65 of file transmit_udp.cpp.