Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes

JAUS::LargeDataSet Class Reference

Data structure for storing multi-packet sequence data and merging/splitting up data packets. More...

#include <largedataset.h>

List of all members.

Classes

class  Key
 Hash key structure for sorting/organizing LargeDataSets. More...

Public Types

typedef std::map< UShort, PacketStream
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< UShortmMissing
 Missing packet in in the stream sequence.
Time::Stamp mUpdateTimeMs
 The last time data was added to the stream.

Detailed Description

Data structure for storing multi-packet sequence data and merging/splitting up data packets.

Definition at line 56 of file largedataset.h.


Member Typedef Documentation

Definition at line 84 of file largedataset.h.

Definition at line 83 of file largedataset.h.


Constructor & Destructor Documentation

LargeDataSet::LargeDataSet (  )

Constructor.

Definition at line 164 of file largedataset.cpp.

LargeDataSet::~LargeDataSet (  )

Destructor.

Definition at line 178 of file largedataset.cpp.


Member Function Documentation

bool LargeDataSet::AddPacket ( const Packet message )

Adds a multi-stream packet to the data set.

Parameters:
[in]messageJAUS Message with JAUS Transport Header.
Returns:
True if added, false otherwise.

Definition at line 209 of file largedataset.cpp.

bool LargeDataSet::AddPacket ( const Header header,
const UShort  messageCode,
const Packet packet 
)

Adds a multi-stream packet to the data set.

Parameters:
[in]headerMessage header data.
[in]messageCodeMessage type.
[in]packetSerialized JAUS message data.
Returns:
True if added, false otherwise.

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.

Parameters:
[in]headerMessage header data to use (e.g. src/dest/priority).
[in]messageCodeMessage type (payload type).
[in]payloadMessage payload data.
[out]streamMulti-packet stream sequence constructed.
[out]streamHeadersheaders for the stream sequence constructed.
[in]transportHeaderAdditional transport header data to add to each packet for the transport layer. The typical value is 0x02 for JUDP.
[in]maxPayloadSizeThis 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]startingSequenceNumberThe 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.

Parameters:
[out]headerMessage header data to use (e.g. src/dest/priority).
[out]messageCodeMessage type (payload type).
[out]payloadMessage payload data.
[in]streamMulti-packet stream sequence constructed.
[in]transportHeaderAdditional transport header data to add to each packet for the transport layer. The typical value is 0x02 for JUDP.
Returns:
true on success, false on failure.

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.

Parameters:
[out]headerMessage header data to use (e.g. src/dest/priority).
[out]messageCodeMessage type (payload type).
[out]payloadMessage payload data.
[in]streamMulti-packet stream sequence constructed.
[in]transportHeaderAdditional transport header data to add to each packet for the transport layer. The typical value is 0x02 for JUDP.
Returns:
true on success, false on failure.

Definition at line 431 of file largedataset.cpp.


Member Data Documentation

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.

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.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines