Provides base class for payloads. More...
#include <payload_base.hpp>
Public Member Functions | |
virtual bool | deserialise (ecl::PushAndPop< unsigned char > &byteStream)=0 |
payloadBase (const bool is_dynamic_=false, const unsigned char length_=0) | |
virtual bool | serialise (ecl::PushAndPop< unsigned char > &byteStream)=0 |
virtual | ~payloadBase () |
Public Attributes | |
const bool | is_dynamic |
const unsigned char | length |
bool | yes |
Protected Member Functions | |
template<typename T > | |
void | buildBytes (const T &V, ecl::PushAndPop< unsigned char > &buffer) |
template<> | |
void | buildBytes (const float &V, ecl::PushAndPop< unsigned char > &buffer) |
template<typename T > | |
void | buildVariable (T &V, ecl::PushAndPop< unsigned char > &buffer) |
template<> | |
void | buildVariable (float &V, ecl::PushAndPop< unsigned char > &buffer) |
Provides base class for payloads.
Definition at line 38 of file payload_base.hpp.
packet_handler::payloadBase::payloadBase | ( | const bool | is_dynamic_ = false , |
const unsigned char | length_ = 0 |
||
) | [inline] |
Definition at line 64 of file payload_base.hpp.
virtual packet_handler::payloadBase::~payloadBase | ( | ) | [inline, virtual] |
Definition at line 69 of file payload_base.hpp.
void packet_handler::payloadBase::buildBytes | ( | const T & | V, |
ecl::PushAndPop< unsigned char > & | buffer | ||
) | [inline, protected] |
Definition at line 96 of file payload_base.hpp.
void packet_handler::payloadBase::buildBytes | ( | const float & | V, |
ecl::PushAndPop< unsigned char > & | buffer | ||
) | [inline, protected] |
Definition at line 130 of file payload_base.hpp.
void packet_handler::payloadBase::buildVariable | ( | T & | V, |
ecl::PushAndPop< unsigned char > & | buffer | ||
) | [inline, protected] |
Definition at line 82 of file payload_base.hpp.
void packet_handler::payloadBase::buildVariable | ( | float & | V, |
ecl::PushAndPop< unsigned char > & | buffer | ||
) | [inline, protected] |
Need to be very careful with this - it will only work across platforms if they happen to be doing reinterpret_cast with the same float standard.
V | |
buffer |
Definition at line 113 of file payload_base.hpp.
virtual bool packet_handler::payloadBase::deserialise | ( | ecl::PushAndPop< unsigned char > & | byteStream | ) | [pure virtual] |
virtual bool packet_handler::payloadBase::serialise | ( | ecl::PushAndPop< unsigned char > & | byteStream | ) | [pure virtual] |
const bool packet_handler::payloadBase::is_dynamic |
it indicates the type of derived packet. if packet type is dynamic, length of packet can be changed during communication session. Ohterwise can not.
Definition at line 52 of file payload_base.hpp.
const unsigned char packet_handler::payloadBase::length |
it indicates length of data part of packet, except header and length field. if packet is fixed type, this value should be matched with length field. if packet is dynamic type, this value indicates minimal value of length field.
Definition at line 59 of file payload_base.hpp.
this is simple magic to write the flag, when we get the packet from the host or when we want to send the data
Definition at line 46 of file payload_base.hpp.