OpenJAUS SAE SDK  6.0.0
Classes | Public Member Functions | Static Public Attributes | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
openjaus::transport::JausLargeMessageBuffer Class Reference

#include <JausLargeMessageBuffer.h>

Classes

class  ListItem
 

Public Member Functions

 JausLargeMessageBuffer ()
 
virtual ~JausLargeMessageBuffer ()
 
const std::list< int > & getNewMissingSequenceNumbers () const
 Accessor to get the value of newMissingSequenceNumbers. More...
 
bool addWrapper (Wrapper *wrapper)
 Adds wrapper to the internal buffer. More...
 
void clear ()
 Operation clear. More...
 
bool isComplete ()
 Operation isComplete. More...
 
Wrapperassemble ()
 
WrapperassembleAndClear ()
 
virtual std::string toString () const
 

Static Public Attributes

static const int MAX_PAYLOAD_SIZE = 4084
 

Protected Attributes

std::list< int > newMissingSequenceNumbers
 

Private Member Functions

void addFirstPacket (Wrapper *wrapper)
 
void addInnerPacket (Wrapper *wrapper)
 
void addLastPacket (Wrapper *wrapper)
 
void addPacket (ListItem *const item, Wrapper *const wrapper)
 
bool updateComplete ()
 
bool canBeAssembled ()
 
bool alreadyStored (Wrapper *const wrapper)
 
void resetIfBufferNecessary (const Wrapper *const wrapper)
 
void updateIfWasMissingPacket (ListItem *const item)
 

Private Attributes

bool complete
 
ListItemfirst
 
ListItemlast
 
std::map< uint16_t, ListItem * > packetMap
 
std::map< uint16_t, ListItem * > missingPacketMap
 
int dataSize
 

Friends

OPENJAUS_EXPORT friend std::ostream & operator<< (std::ostream &output, const JausLargeMessageBuffer &object)
 
OPENJAUS_EXPORT friend std::ostream & operator<< (std::ostream &output, const JausLargeMessageBuffer *object)
 

Constructor & Destructor Documentation

◆ JausLargeMessageBuffer()

openjaus::transport::JausLargeMessageBuffer::JausLargeMessageBuffer ( )

◆ ~JausLargeMessageBuffer()

openjaus::transport::JausLargeMessageBuffer::~JausLargeMessageBuffer ( )
virtual

Member Function Documentation

◆ addFirstPacket()

void openjaus::transport::JausLargeMessageBuffer::addFirstPacket ( Wrapper wrapper)
private

◆ addInnerPacket()

void openjaus::transport::JausLargeMessageBuffer::addInnerPacket ( Wrapper wrapper)
private

◆ addLastPacket()

void openjaus::transport::JausLargeMessageBuffer::addLastPacket ( Wrapper wrapper)
private

◆ addPacket()

void openjaus::transport::JausLargeMessageBuffer::addPacket ( ListItem *const  item,
Wrapper *const  wrapper 
)
private

◆ addWrapper()

bool openjaus::transport::JausLargeMessageBuffer::addWrapper ( Wrapper wrapper)

Returns true if wrapper passed checks and false if wrapper was discarded.

Parameters
wrapper

◆ alreadyStored()

bool openjaus::transport::JausLargeMessageBuffer::alreadyStored ( Wrapper *const  wrapper)
private

◆ assemble()

Wrapper * openjaus::transport::JausLargeMessageBuffer::assemble ( )

◆ assembleAndClear()

Wrapper * openjaus::transport::JausLargeMessageBuffer::assembleAndClear ( )

◆ canBeAssembled()

bool openjaus::transport::JausLargeMessageBuffer::canBeAssembled ( )
private

◆ clear()

void openjaus::transport::JausLargeMessageBuffer::clear ( )

◆ getNewMissingSequenceNumbers()

const std::list< int > & openjaus::transport::JausLargeMessageBuffer::getNewMissingSequenceNumbers ( ) const

◆ isComplete()

bool openjaus::transport::JausLargeMessageBuffer::isComplete ( )

◆ resetIfBufferNecessary()

void openjaus::transport::JausLargeMessageBuffer::resetIfBufferNecessary ( const Wrapper *const  wrapper)
private

◆ toString()

std::string openjaus::transport::JausLargeMessageBuffer::toString ( ) const
virtual

◆ updateComplete()

bool openjaus::transport::JausLargeMessageBuffer::updateComplete ( )
private

◆ updateIfWasMissingPacket()

void openjaus::transport::JausLargeMessageBuffer::updateIfWasMissingPacket ( ListItem *const  item)
private

Friends And Related Function Documentation

◆ operator<< [1/2]

OPENJAUS_EXPORT friend std::ostream& operator<< ( std::ostream &  output,
const JausLargeMessageBuffer object 
)
friend

◆ operator<< [2/2]

OPENJAUS_EXPORT friend std::ostream& operator<< ( std::ostream &  output,
const JausLargeMessageBuffer object 
)
friend

Member Data Documentation

◆ complete

bool openjaus::transport::JausLargeMessageBuffer::complete
private

◆ dataSize

int openjaus::transport::JausLargeMessageBuffer::dataSize
private

◆ first

ListItem* openjaus::transport::JausLargeMessageBuffer::first
private

◆ last

ListItem* openjaus::transport::JausLargeMessageBuffer::last
private

◆ MAX_PAYLOAD_SIZE

const int openjaus::transport::JausLargeMessageBuffer::MAX_PAYLOAD_SIZE = 4084
static

◆ missingPacketMap

std::map<uint16_t, ListItem*> openjaus::transport::JausLargeMessageBuffer::missingPacketMap
private

◆ newMissingSequenceNumbers

std::list< int > openjaus::transport::JausLargeMessageBuffer::newMissingSequenceNumbers
protected

◆ packetMap

std::map<uint16_t, ListItem*> openjaus::transport::JausLargeMessageBuffer::packetMap
private

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