Data structure for storing multi-packet sequence data and merging/splitting up data packets. More...
#include <largedataset.h>
Classes | |
class | Key |
Hash key structure for sorting/organizing LargeDataSets. More... | |
Public Types | |
typedef std::map< UShort, Packet > | Stream |
typedef std::map < LargeDataSet::Key, LargeDataSet * > | Map |
Public Member Functions | |
LargeDataSet () | |
Constructor. | |
~LargeDataSet () | |
Destructor. | |
void | Clear () |
Clears contents of LDS. | |
bool | AddPacket (const Packet &message) |
Adds a multi-stream packet to the data set. | |
bool | AddPacket (const Header &header, const UShort messageCode, const Packet &packet) |
Adds a multi-stream packet to the data set. | |
Static Public Member Functions | |
static void | CreateLargeDataSet (const Header &header, const UShort messageCode, const Packet &payload, Packet::List &stream, Header::List &streamHeaders, const Packet *transportHeader=NULL, const UShort maxPayloadSize=1437, const UShort startingSequenceNumber=0) |
Generates a multi-packet sequence following the rules of the JAUS standard given a large data set. | |
static bool | MergeLargeDataSet (Header &header, UShort &messageCode, Packet &payload, const Packet::List &stream, const Packet *transportHeader=NULL) |
Generates a multi-packet sequence following the rules of the JAUS standard given a large data set. | |
static bool | MergeLargeDataSet (Header &header, UShort &messageCode, Packet &payload, const Stream &stream, const Packet *transportHeader=NULL) |
Generates a multi-packet sequence following the rules of the JAUS standard given a large data set. | |
Public Attributes | |
Header | mHeader |
Message header information. | |
UShort | mMessageCode |
Message type. | |
bool | mHaveLastFlag |
True if the last packet has been received. | |
bool | mCompleteFlag |
If true, the large data set is complete. | |
Stream | mStream |
The multi-packet stream sequence collected. | |
std::set< UShort > | mMissing |
Missing packet in in the stream sequence. | |
Time::Stamp | mUpdateTimeMs |
The last time data was added to the stream. |
Data structure for storing multi-packet sequence data and merging/splitting up data packets.
Definition at line 56 of file largedataset.h.
typedef std::map<LargeDataSet::Key, LargeDataSet*> JAUS::LargeDataSet::Map |
Definition at line 84 of file largedataset.h.
typedef std::map<UShort, Packet> JAUS::LargeDataSet::Stream |
Definition at line 83 of file largedataset.h.
LargeDataSet::LargeDataSet | ( | ) |
Constructor.
Definition at line 164 of file largedataset.cpp.
LargeDataSet::~LargeDataSet | ( | ) |
Destructor.
Definition at line 178 of file largedataset.cpp.
bool LargeDataSet::AddPacket | ( | const Packet & | message ) |
bool LargeDataSet::AddPacket | ( | const Header & | header, |
const UShort | messageCode, | ||
const Packet & | packet | ||
) |
Adds a multi-stream packet to the data set.
[in] | header | Message header data. |
[in] | messageCode | Message type. |
[in] | packet | Serialized JAUS message data. |
Definition at line 237 of file largedataset.cpp.
void LargeDataSet::Clear | ( | ) |
Clears contents of LDS.
Definition at line 188 of file largedataset.cpp.
void LargeDataSet::CreateLargeDataSet | ( | const Header & | header, |
const UShort | messageCode, | ||
const Packet & | payload, | ||
Packet::List & | stream, | ||
Header::List & | streamHeaders, | ||
const Packet * | transportHeader = NULL , |
||
const UShort | maxPayloadSize = 1437 , |
||
const UShort | startingSequenceNumber = 0 |
||
) | [static] |
Generates a multi-packet sequence following the rules of the JAUS standard given a large data set.
[in] | header | Message header data to use (e.g. src/dest/priority). |
[in] | messageCode | Message type (payload type). |
[in] | payload | Message payload data. |
[out] | stream | Multi-packet stream sequence constructed. |
[out] | streamHeaders | headers for the stream sequence constructed. |
[in] | transportHeader | Additional transport header data to add to each packet for the transport layer. The typical value is 0x02 for JUDP. |
[in] | maxPayloadSize | This is maximum allowed size for each packet payload (data only). This value does not include transport size, General Transport Header, or message code size. |
[in] | startingSequenceNumber | The starting sequence number to use for messages. Default is 0. |
Definition at line 346 of file largedataset.cpp.
bool LargeDataSet::MergeLargeDataSet | ( | Header & | header, |
UShort & | messageCode, | ||
Packet & | payload, | ||
const Stream & | stream, | ||
const Packet * | transportHeader = NULL |
||
) | [static] |
Generates a multi-packet sequence following the rules of the JAUS standard given a large data set.
[out] | header | Message header data to use (e.g. src/dest/priority). |
[out] | messageCode | Message type (payload type). |
[out] | payload | Message payload data. |
[in] | stream | Multi-packet stream sequence constructed. |
[in] | transportHeader | Additional transport header data to add to each packet for the transport layer. The typical value is 0x02 for JUDP. |
Definition at line 544 of file largedataset.cpp.
bool LargeDataSet::MergeLargeDataSet | ( | Header & | header, |
UShort & | messageCode, | ||
Packet & | payload, | ||
const Packet::List & | stream, | ||
const Packet * | transportHeader = NULL |
||
) | [static] |
Generates a multi-packet sequence following the rules of the JAUS standard given a large data set.
[out] | header | Message header data to use (e.g. src/dest/priority). |
[out] | messageCode | Message type (payload type). |
[out] | payload | Message payload data. |
[in] | stream | Multi-packet stream sequence constructed. |
[in] | transportHeader | Additional transport header data to add to each packet for the transport layer. The typical value is 0x02 for JUDP. |
Definition at line 431 of file largedataset.cpp.
If true, the large data set is complete.
Definition at line 113 of file largedataset.h.
True if the last packet has been received.
Definition at line 112 of file largedataset.h.
Message header information.
Definition at line 110 of file largedataset.h.
Message type.
Definition at line 111 of file largedataset.h.
std::set<UShort> JAUS::LargeDataSet::mMissing |
Missing packet in in the stream sequence.
Definition at line 115 of file largedataset.h.
The multi-packet stream sequence collected.
Definition at line 114 of file largedataset.h.
The last time data was added to the stream.
Definition at line 116 of file largedataset.h.