DUNE: Uniform Navigational Environment  2019.02.0
DUNE::IMC::TransmissionRequest Class Reference

Detailed Description

Transmission Request.

Public Types

enum  CommunicationMeanEnum { CMEAN_WIFI, CMEAN_ACOUSTIC, CMEAN_SATELLITE, CMEAN_GSM }
 
enum  DataModeEnum { DMODE_INLINEMSG, DMODE_TEXT, DMODE_RAW }
 

Public Member Functions

 TransmissionRequest (void)
 
TransmissionRequestclone (void) const
 
void clear (void)
 
bool fieldsEqual (const Message &msg__) const
 
int validate (void) const
 
uint8_t * serializeFields (uint8_t *bfr__) const
 
uint16_t deserializeFields (const uint8_t *bfr__, uint16_t size__)
 
uint16_t reverseDeserializeFields (const uint8_t *bfr__, uint16_t size__)
 
uint16_t getId (void) const
 
const char * getName (void) const
 
unsigned getFixedSerializationSize (void) const
 
unsigned getVariableSerializationSize (void) const
 
void fieldsToJSON (std::ostream &os__, unsigned nindent__) const
 
- Public Member Functions inherited from DUNE::IMC::Message
 Message (void)
 
virtual ~Message (void)
 
double setTimeStamp (double ts)
 
double setTimeStamp (void)
 
double getTimeStamp (void) const
 
uint16_t getSource (void) const
 
void setSource (uint16_t src)
 
uint8_t getSourceEntity (void) const
 
void setSourceEntity (uint8_t src_ent)
 
uint16_t getDestination (void) const
 
void setDestination (uint16_t dst)
 
uint8_t getDestinationEntity (void) const
 
void setDestinationEntity (uint8_t dst_ent)
 
virtual uint16_t getSubId (void) const
 
virtual void setSubId (uint16_t subid)
 
virtual fp64_t getValueFP (void) const
 
virtual void setValueFP (fp64_t val)
 
unsigned getSerializationSize (void) const
 
unsigned getPayloadSerializationSize (void) const
 
void toJSON (std::ostream &os) const
 
void toText (std::ostream &os) const
 
bool operator== (const Message &other) const
 
bool operator!= (const Message &other) const
 

Static Public Member Functions

static uint16_t getIdStatic (void)
 

Public Attributes

uint16_t req_id
 
uint8_t comm_mean
 
std::string destination
 
fp64_t deadline
 
uint8_t data_mode
 
InlineMessage< Messagemsg_data
 
std::string txt_data
 
std::vector< char > raw_data
 

Protected Member Functions

void setTimeStampNested (double value__)
 
void setSourceNested (uint16_t value__)
 
void setSourceEntityNested (uint8_t value__)
 
void setDestinationNested (uint16_t value__)
 
void setDestinationEntityNested (uint8_t value__)
 

Additional Inherited Members

- Protected Attributes inherited from DUNE::IMC::Message
Header m_header
 

Member Enumeration Documentation

Communication Mean.

Enumerator
CMEAN_WIFI 

WiFi.

CMEAN_ACOUSTIC 

Acoustic.

CMEAN_SATELLITE 

Satellite.

CMEAN_GSM 

GSM.

Data Mode.

Enumerator
DMODE_INLINEMSG 

Inline Message.

DMODE_TEXT 

Text.

DMODE_RAW 

Raw Data.

Constructor & Destructor Documentation

DUNE::IMC::TransmissionRequest::TransmissionRequest ( void  )

Member Function Documentation

void DUNE::IMC::TransmissionRequest::clear ( void  )
virtual

Reset message's fields.

Implements DUNE::IMC::Message.

References comm_mean, data_mode, deadline, destination, msg_data, raw_data, req_id, and txt_data.

Referenced by TransmissionRequest().

TransmissionRequest* DUNE::IMC::TransmissionRequest::clone ( void  ) const
inlinevirtual

Retrieve a copy of the message.

Returns
message copy.

Implements DUNE::IMC::Message.

References TransmissionRequest().

uint16_t DUNE::IMC::TransmissionRequest::deserializeFields ( const uint8_t *  bfr,
uint16_t  len 
)
virtual

Deserialize message fields from a packet.

Parameters
bfrstream of bytes (packet)
lenlength of the byte stream.
Returns
number of bytes processed.

Implements DUNE::IMC::Message.

References comm_mean, data_mode, deadline, DUNE::IMC::deserialize(), destination, msg_data, raw_data, req_id, and txt_data.

bool DUNE::IMC::TransmissionRequest::fieldsEqual ( const Message other) const
virtual

Compare fields for equality.

Parameters
[in]othermessage to compare.
Returns
true if fields are equal, false otherwise.

Reimplemented from DUNE::IMC::Message.

References comm_mean, data_mode, deadline, destination, msg_data, raw_data, req_id, and txt_data.

void DUNE::IMC::TransmissionRequest::fieldsToJSON ( std::ostream &  os,
unsigned  indent_level 
) const
virtual

Output the message fields (excluding header) in JSON format.

Parameters
osoutput stream.
indent_levelnumber of indentation spaces.

Reimplemented from DUNE::IMC::Message.

References comm_mean, data_mode, deadline, destination, msg_data, raw_data, req_id, DUNE::IMC::toJSON(), and txt_data.

unsigned DUNE::IMC::TransmissionRequest::getFixedSerializationSize ( void  ) const
inlinevirtual

Get the fixed amount of bytes required to properly serialize this message (variable length fields are not included).

Returns
amount of variable bytes required to serialize the message.

Reimplemented from DUNE::IMC::Message.

uint16_t DUNE::IMC::TransmissionRequest::getId ( void  ) const
inlinevirtual

Retrieve message's identification number.

Returns
message's identification number.

Implements DUNE::IMC::Message.

References getIdStatic().

static uint16_t DUNE::IMC::TransmissionRequest::getIdStatic ( void  )
inlinestatic

Referenced by getId().

const char* DUNE::IMC::TransmissionRequest::getName ( void  ) const
inlinevirtual

Retrieve message's name.

Returns
message's name.

Implements DUNE::IMC::Message.

unsigned DUNE::IMC::TransmissionRequest::getVariableSerializationSize ( void  ) const
inlinevirtual

Get the variable amount of bytes required to properly serialize this message (only the variable fields are included).

Returns
amount of variable bytes required to serialize the message.

Reimplemented from DUNE::IMC::Message.

References destination, DUNE::IMC::getSerializationSize(), msg_data, raw_data, and txt_data.

uint16_t DUNE::IMC::TransmissionRequest::reverseDeserializeFields ( const uint8_t *  bfr,
uint16_t  len 
)
virtual

Deserialize message fields from a packet, swapping the byte order.

Parameters
bfrstream of bytes (packet)
lenlength of the byte stream.
Returns
number of bytes processed.

Implements DUNE::IMC::Message.

References comm_mean, data_mode, deadline, DUNE::IMC::deserialize(), destination, msg_data, raw_data, req_id, DUNE::IMC::reverseDeserialize(), and txt_data.

uint8_t * DUNE::IMC::TransmissionRequest::serializeFields ( uint8_t *  bfr__) const
virtual
void DUNE::IMC::TransmissionRequest::setDestinationEntityNested ( uint8_t  value)
protectedvirtual

Set the destination entity of nested messages.

Parameters
[in]valuedestination entity.

Reimplemented from DUNE::IMC::Message.

References msg_data.

void DUNE::IMC::TransmissionRequest::setDestinationNested ( uint16_t  value)
protectedvirtual

Set the destination address of nested messages.

Parameters
[in]valuedestination address.

Reimplemented from DUNE::IMC::Message.

References msg_data.

void DUNE::IMC::TransmissionRequest::setSourceEntityNested ( uint8_t  value)
protectedvirtual

Set the source entity of nested messages.

Parameters
[in]valuesource entity.

Reimplemented from DUNE::IMC::Message.

References msg_data.

void DUNE::IMC::TransmissionRequest::setSourceNested ( uint16_t  value)
protectedvirtual

Set the source address of nested messages.

Parameters
[in]valuesource address.

Reimplemented from DUNE::IMC::Message.

References msg_data.

void DUNE::IMC::TransmissionRequest::setTimeStampNested ( double  value)
protectedvirtual

Set the timestamp of nested messages.

Parameters
[in]valuetimestamp.

Reimplemented from DUNE::IMC::Message.

References msg_data.

int DUNE::IMC::TransmissionRequest::validate ( void  ) const
virtual

Validate the message's contents.

Returns
negative value in case of a valid message or a positive value indicating the position of the invalid message field.

Implements DUNE::IMC::Message.

Member Data Documentation

uint8_t DUNE::IMC::TransmissionRequest::comm_mean
uint8_t DUNE::IMC::TransmissionRequest::data_mode
fp64_t DUNE::IMC::TransmissionRequest::deadline
std::string DUNE::IMC::TransmissionRequest::destination
std::vector<char> DUNE::IMC::TransmissionRequest::raw_data
uint16_t DUNE::IMC::TransmissionRequest::req_id
std::string DUNE::IMC::TransmissionRequest::txt_data
Collaboration diagram for DUNE::IMC::TransmissionRequest:
Collaboration graph