OpenDDS
Snapshot(2023/04/28-20:55)
|
#include <MessageParser.h>
Public Member Functions | |
MessageParser (const ACE_Message_Block &in) | |
MessageParser (const DDS::OctetSeq &in) | |
bool | parseHeader () |
bool | parseSubmessageHeader () |
bool | hasNextSubmessage () const |
bool | skipToNextSubmessage () |
bool | skipSubmessageContent () |
const Header & | header () const |
SubmessageHeader | submessageHeader () const |
size_t | remaining () const |
const char * | current () const |
DCPS::Serializer & | serializer () |
template<typename T > | |
bool | operator>> (T &rhs) |
Private Attributes | |
ACE_Message_Block | fromSeq_ |
DCPS::Message_Block_Ptr | in_ |
DCPS::Serializer | ser_ |
Header | header_ |
SubmessageHeader | sub_ |
size_t | smContentStart_ |
Utility for iterating through a contiguous buffer (either really contiguous or virtually contiguous using message block chaining) of RTPS Submessages optionally prefixed by the RTPS Header
Definition at line 22 of file MessageParser.h.
|
explicit |
Definition at line 19 of file MessageParser.cpp.
|
explicit |
Definition at line 27 of file MessageParser.cpp.
References fromSeq_, ACE_Message_Block::size(), and ACE_Message_Block::wr_ptr().
|
inline |
Definition at line 36 of file MessageParser.h.
Referenced by OpenDDS::Security::CryptoBuiltInImpl::authtag(), OpenDDS::Security::CryptoBuiltInImpl::decode_rtps_message(), and OpenDDS::DCPS::RtpsUdpSendStrategy::encode_submessages().
bool OpenDDS::RTPS::MessageParser::hasNextSubmessage | ( | ) | const |
Definition at line 57 of file MessageParser.cpp.
References OpenDDS::RTPS::INFO_TS, OpenDDS::DCPS::Serializer::length(), OpenDDS::RTPS::PAD, ser_, smContentStart_, sub_, OpenDDS::RTPS::SubmessageHeader::submessageId, and OpenDDS::RTPS::SubmessageHeader::submessageLength.
Referenced by OpenDDS::Security::CryptoBuiltInImpl::authtag(), OpenDDS::Security::CryptoBuiltInImpl::decode_rtps_message(), and OpenDDS::DCPS::RtpsUdpSendStrategy::encode_submessages().
|
inline |
Definition at line 33 of file MessageParser.h.
|
inline |
Definition at line 41 of file MessageParser.h.
bool OpenDDS::RTPS::MessageParser::parseHeader | ( | ) |
Definition at line 37 of file MessageParser.cpp.
Referenced by OpenDDS::Security::CryptoBuiltInImpl::decode_rtps_message(), and OpenDDS::DCPS::RtpsUdpSendStrategy::encode_submessages().
bool OpenDDS::RTPS::MessageParser::parseSubmessageHeader | ( | ) |
Definition at line 42 of file MessageParser.cpp.
References ACE_CDR_BYTE_ORDER, OpenDDS::RTPS::FLAG_E, OpenDDS::RTPS::SubmessageHeader::flags, OpenDDS::DCPS::Serializer::length(), ser_, smContentStart_, sub_, OpenDDS::RTPS::SubmessageHeader::submessageId, OpenDDS::RTPS::SubmessageHeader::submessageLength, and OpenDDS::DCPS::Serializer::swap_bytes().
Referenced by OpenDDS::Security::CryptoBuiltInImpl::authtag(), OpenDDS::Security::CryptoBuiltInImpl::decode_rtps_message(), and OpenDDS::DCPS::RtpsUdpSendStrategy::encode_submessages().
|
inline |
Definition at line 35 of file MessageParser.h.
Referenced by OpenDDS::Security::CryptoBuiltInImpl::authtag(), OpenDDS::Security::CryptoBuiltInImpl::decode_rtps_message(), and OpenDDS::DCPS::RtpsUdpSendStrategy::encode_submessages().
|
inline |
Definition at line 38 of file MessageParser.h.
Referenced by OpenDDS::Security::CryptoBuiltInImpl::decode_rtps_message(), and OpenDDS::DCPS::RtpsUdpSendStrategy::encode_submessages().
bool OpenDDS::RTPS::MessageParser::skipSubmessageContent | ( | ) |
Definition at line 74 of file MessageParser.cpp.
References OpenDDS::RTPS::INFO_TS, OpenDDS::DCPS::Serializer::length(), OPENDDS_END_VERSIONED_NAMESPACE_DECL, OpenDDS::RTPS::PAD, read(), ser_, OpenDDS::DCPS::Serializer::skip(), smContentStart_, sub_, OpenDDS::RTPS::SubmessageHeader::submessageId, and OpenDDS::RTPS::SubmessageHeader::submessageLength.
bool OpenDDS::RTPS::MessageParser::skipToNextSubmessage | ( | ) |
Definition at line 68 of file MessageParser.cpp.
References OpenDDS::DCPS::Serializer::length(), read(), ser_, OpenDDS::DCPS::Serializer::skip(), smContentStart_, sub_, and OpenDDS::RTPS::SubmessageHeader::submessageLength.
Referenced by OpenDDS::Security::CryptoBuiltInImpl::authtag(), OpenDDS::Security::CryptoBuiltInImpl::decode_rtps_message(), and OpenDDS::DCPS::RtpsUdpSendStrategy::encode_submessages().
|
inline |
Definition at line 34 of file MessageParser.h.
Referenced by OpenDDS::Security::CryptoBuiltInImpl::decode_rtps_message(), and OpenDDS::DCPS::RtpsUdpSendStrategy::encode_submessages().
|
private |
Definition at line 44 of file MessageParser.h.
Referenced by MessageParser().
|
private |
Definition at line 47 of file MessageParser.h.
Referenced by parseHeader().
|
private |
Definition at line 45 of file MessageParser.h.
|
private |
Definition at line 46 of file MessageParser.h.
Referenced by hasNextSubmessage(), parseHeader(), parseSubmessageHeader(), skipSubmessageContent(), and skipToNextSubmessage().
|
private |
Definition at line 49 of file MessageParser.h.
Referenced by hasNextSubmessage(), parseSubmessageHeader(), skipSubmessageContent(), and skipToNextSubmessage().
|
private |
Definition at line 48 of file MessageParser.h.
Referenced by hasNextSubmessage(), parseSubmessageHeader(), skipSubmessageContent(), and skipToNextSubmessage().