OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <DataSampleHeader.h>
Classes | |
struct | MaybeGuard |
Public Types | |
enum | { MESSAGE_ID_OFFSET = 0, SUBMESSAGE_ID_OFFSET = 1, FLAGS_OFFSET = 2 } |
Public Member Functions | |
DataSampleHeader () | |
DataSampleHeader (ACE_Message_Block &buffer) | |
Construct with values extracted from a buffer. More... | |
DataSampleHeader & | operator= (ACE_Message_Block &buffer) |
Assignment from an ACE_Message_Block. More... | |
size_t | get_serialized_size () const |
Amount of data read when initializing from a buffer. More... | |
void | init (ACE_Message_Block *buffer) |
Implement load from buffer. More... | |
bool | into_received_data_sample (ReceivedDataSample &rds) |
ACE_UINT32 | message_length () const |
bool | more_fragments () const |
void | pdu_remaining (size_t) |
bool | valid_data () const |
Returns true if the sample has a complete serialized payload. More... | |
DDS::InstanceStateKind | instance_state () const |
Static Public Member Functions | |
static ACE_UINT8 | mask_flag (DataSampleHeaderFlag flag) |
static ACE_UINT8 | mask_flag (DataSampleHeaderFlag2 flag) |
static void | clear_flag (DataSampleHeaderFlag flag, ACE_Message_Block *buffer) |
static void | set_flag (DataSampleHeaderFlag flag, ACE_Message_Block *buffer) |
static bool | test_flag (DataSampleHeaderFlag flag, const ACE_Message_Block *buffer) |
static bool | partial (const ACE_Message_Block &mb) |
Does the data in this mb constitute a partial Sample Header? More... | |
static void | add_cfentries (const GUIDSeq *guids, ACE_Message_Block *mb) |
static void | split (const ACE_Message_Block &orig, size_t size, Message_Block_Ptr &head, Message_Block_Ptr &tail) |
static bool | join (const DataSampleHeader &first, const DataSampleHeader &second, DataSampleHeader &result) |
static size_t | get_max_serialized_size () |
Similar to IDL compiler generated methods. More... | |
static ACE_Message_Block * | alloc_msgblock (const ACE_Message_Block &mb, size_t size, bool use_data_alloc) |
static void | split_payload (const ACE_Message_Block &orig, size_t size, Message_Block_Ptr &head, Message_Block_Ptr &tail) |
Public Attributes | |
char | message_id_ |
The enum MessageId. More... | |
char | submessage_id_ |
Implementation-specific sub-message Ids. More... | |
bool | byte_order_: 1 |
bool | coherent_change_: 1 |
bool | historic_sample_: 1 |
bool | lifespan_duration_: 1 |
bool | group_coherent_: 1 |
bool | content_filter_: 1 |
bool | sequence_repair_: 1 |
bool | more_fragments_: 1 |
The current "Data Sample" needs reassembly before further processing. More... | |
bool | cdr_encapsulation_: 1 |
bool | key_fields_only_: 1 |
Only the key fields of the data sample are present in the payload. More... | |
bool | reserved_1: 1 |
bool | reserved_2: 1 |
bool | reserved_3: 1 |
bool | reserved_4: 1 |
bool | reserved_5: 1 |
bool | reserved_6: 1 |
ACE_UINT32 | message_length_ |
SequenceNumber | sequence_ |
ACE_INT32 | source_timestamp_sec_ |
ACE_UINT32 | source_timestamp_nanosec_ |
ACE_INT32 | lifespan_duration_sec_ |
ACE_UINT32 | lifespan_duration_nanosec_ |
GUID_t | publication_id_ |
GUID_t | publisher_id_ |
GUIDSeq | content_filter_entries_ |
Private Attributes | |
size_t | serialized_size_ |
Keep track of the amount of data read from a buffer. More... | |
The header message of a data sample. This header and the data sample are in different message block and will be chained together.
Definition at line 79 of file DataSampleHeader.h.
anonymous enum |
Enumerator | |
---|---|
MESSAGE_ID_OFFSET | |
SUBMESSAGE_ID_OFFSET | |
FLAGS_OFFSET |
Definition at line 80 of file DataSampleHeader.h.
ACE_INLINE OpenDDS::DCPS::DataSampleHeader::DataSampleHeader | ( | ) |
Definition at line 9 of file DataSampleHeader.inl.
References ACE_CDR_BYTE_ORDER, and ACE_INLINE.
|
explicit |
Construct with values extracted from a buffer.
Definition at line 41 of file DataSampleHeader.inl.
References ACE_CDR_BYTE_ORDER, ACE_INLINE, and init().
|
static |
Marshal the "guids" as an optional header chained as to the continuation of "mb" (which must already be a valid DataSampleHeader serialization). Any existing payload of "mb" (its continuation) will be chained after the new optional header part. "guids" may be null, same serialization as 0.
Definition at line 331 of file DataSampleHeader.cpp.
References ACE_CDR_BYTE_ORDER, alloc_msgblock(), OpenDDS::DCPS::BYTE_ORDER_FLAG, ACE_Message_Block::cont(), OpenDDS::STUN::encoding(), OpenDDS::DCPS::int32_cdr_size, OpenDDS::DCPS::serialized_size(), and test_flag().
Referenced by OpenDDS::DCPS::DataLinkSet::send(), and split().
|
static |
Definition at line 90 of file DataSampleHeader.cpp.
References ACE_Message_Block::access_allocators(), ACE_DEFAULT_MESSAGE_BLOCK_PRIORITY, ACE_NEW_MALLOC_RETURN, OpenDDS::RTPS::DATA, ACE_Message_Block::locking_strategy(), malloc(), ACE_Time_Value::max_time, ACE_Message_Block::MB_DATA, and ACE_Time_Value::zero.
Referenced by add_cfentries(), and split().
|
static |
The clear_flag and set_flag methods are a hack to update the header flags after a sample has been serialized without deserializing the entire message. This method will break if the current Serializer behavior changes.
Definition at line 111 of file DataSampleHeader.inl.
References ACE_ERROR, ACE_INLINE, ACE_TEXT(), ACE_Message_Block::base(), ACE_Message_Block::end(), FLAGS_OFFSET, LM_ERROR, ACE_Message_Block::locking_strategy(), and mask_flag().
|
static |
Similar to IDL compiler generated methods.
Definition at line 87 of file DataSampleHeader.inl.
References ACE_INLINE.
Referenced by OpenDDS::DCPS::DataLink::create_control(), OpenDDS::DCPS::DataWriterImpl::create_control_message(), OpenDDS::DCPS::ReplayerImpl::create_sample_data_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), OpenDDS::RTPS::Sedp::Writer::end_historic_samples(), OpenDDS::DCPS::UdpDataLink::open(), partial(), OpenDDS::RTPS::Sedp::Writer::request_ack(), OpenDDS::DCPS::TcpDataLink::request_ack_received(), OpenDDS::DCPS::TransportSendStrategy::send(), OpenDDS::DCPS::ShmemDataLink::send_association_msg(), OpenDDS::DCPS::TcpDataLink::send_association_msg(), OpenDDS::DCPS::TcpDataLink::send_graceful_disconnect_message(), OpenDDS::RTPS::Sedp::TypeLookupReplyWriter::send_type_lookup_reply(), OpenDDS::RTPS::Sedp::TypeLookupRequestWriter::send_type_lookup_request(), split(), OpenDDS::RTPS::Sedp::Writer::write_parameter_list(), OpenDDS::RTPS::Sedp::LivelinessWriter::write_participant_message(), OpenDDS::RTPS::Sedp::SecurityWriter::write_stateless_message(), OpenDDS::RTPS::Sedp::DiscoveryWriter::write_unregister_dispose(), and OpenDDS::RTPS::Sedp::SecurityWriter::write_volatile_message_secure().
ACE_INLINE size_t OpenDDS::DCPS::DataSampleHeader::get_serialized_size | ( | ) | const |
Amount of data read when initializing from a buffer.
Definition at line 81 of file DataSampleHeader.inl.
References ACE_INLINE, and serialized_size_.
void OpenDDS::DCPS::DataSampleHeader::init | ( | ACE_Message_Block * | buffer | ) |
Implement load from buffer.
Definition at line 180 of file DataSampleHeader.cpp.
References ACE_CDR_BYTE_ORDER, OpenDDS::DCPS::byte_cdr_size, byte_order_, OpenDDS::DCPS::BYTE_ORDER_FLAG, OpenDDS::DCPS::CDR_ENCAP_FLAG, cdr_encapsulation_, coherent_change_, OpenDDS::DCPS::COHERENT_CHANGE_FLAG, content_filter_, content_filter_entries_, OpenDDS::DCPS::CONTENT_FILTER_FLAG, OpenDDS::STUN::encoding(), group_coherent_, OpenDDS::DCPS::GROUP_COHERENT_FLAG, historic_sample_, OpenDDS::DCPS::HISTORIC_SAMPLE_FLAG, key_fields_only_, OpenDDS::DCPS::KEY_ONLY_FLAG, lifespan_duration_, OpenDDS::DCPS::LIFESPAN_DURATION_FLAG, lifespan_duration_nanosec_, lifespan_duration_sec_, mask_flag(), message_id_, message_length_, more_fragments_, OpenDDS::DCPS::MORE_FRAGMENTS_FLAG, publication_id_, publisher_id_, sequence_, sequence_repair_, OpenDDS::DCPS::SEQUENCE_REPAIR_FLAG, OpenDDS::DCPS::serialized_size(), serialized_size_, source_timestamp_nanosec_, source_timestamp_sec_, submessage_id_, and OpenDDS::DCPS::Serializer::swap_bytes().
Referenced by DataSampleHeader(), and operator=().
|
inline |
Definition at line 254 of file DataSampleHeader.h.
References DDS::ALIVE_INSTANCE_STATE, OpenDDS::DCPS::DISPOSE_INSTANCE, OpenDDS::DCPS::DISPOSE_UNREGISTER_INSTANCE, DDS::NOT_ALIVE_DISPOSED_INSTANCE_STATE, DDS::NOT_ALIVE_NO_WRITERS_INSTANCE_STATE, and OpenDDS::DCPS::UNREGISTER_INSTANCE.
Referenced by OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::store_synthetic_data(), and OpenDDS::DCPS::DataWriterImpl::write().
bool OpenDDS::DCPS::DataSampleHeader::into_received_data_sample | ( | ReceivedDataSample & | rds | ) |
Definition at line 693 of file DataSampleHeader.cpp.
References OpenDDS::DCPS::ReceivedDataSample::header_, OpenDDS::DCPS::DataSampleHeader::MaybeGuard::non_lock, and OPENDDS_END_VERSIONED_NAMESPACE_DECL.
|
static |
If "first" and "second" are two fragments of the same original message (as created by split()), return true and set up the "result" header to match the original header. Joining the data payload is the responsibility of the caller (manipulate the continuation chain).
Definition at line 454 of file DataSampleHeader.cpp.
References content_filter_, content_filter_entries_, message_length_, more_fragments_, and sequence_.
Referenced by OpenDDS::DCPS::TransportReassembly::FragInfo::insert().
|
inlinestatic |
Definition at line 187 of file DataSampleHeader.h.
Referenced by clear_flag(), init(), partial(), set_flag(), and test_flag().
|
inlinestatic |
|
inline |
Definition at line 239 of file DataSampleHeader.h.
|
inline |
Definition at line 241 of file DataSampleHeader.h.
ACE_INLINE OpenDDS::DCPS::DataSampleHeader & OpenDDS::DCPS::DataSampleHeader::operator= | ( | ACE_Message_Block & | buffer | ) |
Assignment from an ACE_Message_Block.
Definition at line 74 of file DataSampleHeader.inl.
References ACE_INLINE, and init().
|
static |
Does the data in this mb constitute a partial Sample Header?
Definition at line 130 of file DataSampleHeader.cpp.
References OpenDDS::DCPS::BYTE_ORDER_FLAG, OpenDDS::DCPS::CONTENT_FILTER_FLAG, OpenDDS::STUN::encoding(), OpenDDS::DCPS::Encoding::endianness(), FLAGS_OFFSET, get_max_serialized_size(), OpenDDS::DCPS::GROUP_COHERENT_FLAG, OpenDDS::DCPS::guid_cdr_size, OpenDDS::DCPS::int32_cdr_size, OpenDDS::DCPS::LIFESPAN_DURATION_FLAG, mask_flag(), OpenDDS::DCPS::MESSAGE_ID_MAX, MESSAGE_ID_OFFSET, OpenDDS::DCPS::SUBMESSAGE_ID_MAX, SUBMESSAGE_ID_OFFSET, and ACE_Message_Block::total_length().
|
inline |
Definition at line 243 of file DataSampleHeader.h.
|
static |
Definition at line 130 of file DataSampleHeader.inl.
References ACE_ERROR, ACE_INLINE, ACE_TEXT(), ACE_Message_Block::base(), ACE_Message_Block::end(), FLAGS_OFFSET, LM_ERROR, ACE_Message_Block::locking_strategy(), and mask_flag().
Referenced by OpenDDS::DCPS::WriteDataContainer::data_delivered().
|
static |
Create two new serialized headers (owned by caller), the "head" having at most "size" bytes (header + data) and the "tail" having the rest.
Definition at line 382 of file DataSampleHeader.cpp.
References add_cfentries(), alloc_msgblock(), ACE_Message_Block::cont(), dup(), ACE_Message_Block::duplicate(), OpenDDS::STUN::encoding(), OpenDDS::DCPS::unique_ptr< T, Deleter >::get(), get_max_serialized_size(), OpenDDS::DCPS::guid_cdr_size, ACE_Message_Block::length(), message_length_, more_fragments_, OpenDDS::DCPS::unique_ptr< T, Deleter >::release(), OpenDDS::DCPS::unique_ptr< T, Deleter >::reset(), split_payload(), and ACE_Message_Block::total_length().
Referenced by OpenDDS::DCPS::TransportQueueElement::fragment().
|
static |
Definition at line 356 of file DataSampleHeader.cpp.
References ACE_Message_Block::cont(), ACE_Message_Block::duplicate(), OpenDDS::DCPS::unique_ptr< T, Deleter >::get(), ACE_Message_Block::length(), ACE_Message_Block::rd_ptr(), ACE_Message_Block::release(), OpenDDS::DCPS::unique_ptr< T, Deleter >::reset(), and ACE_Message_Block::wr_ptr().
Referenced by split().
|
static |
Definition at line 149 of file DataSampleHeader.inl.
References ACE_ERROR_RETURN, ACE_INLINE, ACE_TEXT(), ACE_Message_Block::base(), ACE_Message_Block::end(), FLAGS_OFFSET, LM_ERROR, and mask_flag().
Referenced by add_cfentries(), OpenDDS::DCPS::SingleSendBuffer::insert(), OpenDDS::DCPS::DataDurabilityCache::insert(), OpenDDS::DCPS::WriteDataContainer::remove_excess_durable(), and OpenDDS::DCPS::DataLinkSet::send().
ACE_INLINE bool OpenDDS::DCPS::DataSampleHeader::valid_data | ( | ) | const |
Returns true if the sample has a complete serialized payload.
Definition at line 167 of file DataSampleHeader.inl.
References message_id_, and OpenDDS::DCPS::SAMPLE_DATA.
Referenced by OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::dds_demarshal(), OpenDDS::DCPS::DataWriterImpl::filter_out(), and OpenDDS::DCPS::ReceivedDataElement::ReceivedDataElement().
bool OpenDDS::DCPS::DataSampleHeader::byte_order_ |
0 - Message encoded using big-endian byte order. (see ace/CDR_Base.h) 1 - Message encoded using little-endian byte order.
Definition at line 94 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::DataLink::create_control(), OpenDDS::DCPS::DataWriterImpl::create_control_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), OpenDDS::DCPS::RecorderImpl::data_received(), OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::dds_demarshal(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::decode_payload(), OpenDDS::DCPS::RecorderImpl::get_dynamic_data(), init(), OpenDDS::DCPS::RtpsSampleHeader::into_received_data_sample(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::lookup_instance(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::RtpsSampleHeader::populate_data_control_submessages(), OpenDDS::DCPS::RtpsSampleHeader::populate_data_sample_submessages(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::reassemble_i(), OpenDDS::DCPS::TcpDataLink::request_ack_received(), OpenDDS::DCPS::ShmemDataLink::send_association_msg(), OpenDDS::DCPS::TcpDataLink::send_association_msg(), OpenDDS::RTPS::Sedp::Writer::set_header_fields(), OpenDDS::DCPS::to_string(), and OpenDDS::DCPS::ReplayerImpl::write().
bool OpenDDS::DCPS::DataSampleHeader::cdr_encapsulation_ |
The data payload uses CDR encapsulation and alignment rules, as defined by the RTPS specification formal/2010-11-01.
Definition at line 129 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::ReplayerImpl::create_sample_data_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), OpenDDS::DCPS::RecorderImpl::data_received(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::dds_demarshal(), init(), OpenDDS::DCPS::RtpsSampleHeader::into_received_data_sample(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::lookup_instance(), OpenDDS::DCPS::operator<<(), and OpenDDS::DCPS::to_string().
bool OpenDDS::DCPS::DataSampleHeader::coherent_change_ |
The flag indicates the sample belongs to a coherent change set (i.e. PRESENTATION coherent_access == true).
Definition at line 98 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::DataReaderImpl::accept_sample_processing(), OpenDDS::DCPS::DataWriterImpl::create_control_message(), OpenDDS::DCPS::ReplayerImpl::create_sample_data_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), init(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::to_string(), and OpenDDS::DCPS::DataReaderImpl::writer_activity().
bool OpenDDS::DCPS::DataSampleHeader::content_filter_ |
The publishing side has applied content filtering, and the optional content_filter_entries_ field is present in the marshaled header.
Definition at line 112 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::ReplayerImpl::create_sample_data_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), OpenDDS::DCPS::DataLink::data_received_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::dds_demarshal(), init(), join(), OpenDDS::DCPS::operator<<(), and OpenDDS::DCPS::to_string().
GUIDSeq OpenDDS::DCPS::DataSampleHeader::content_filter_entries_ |
Optional field present if the content_filter_ flag bit is set. Indicates which readers should not receive the data.
Definition at line 185 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::DataLink::data_received_i(), init(), join(), OpenDDS::DCPS::operator<<(), and OpenDDS::DCPS::to_string().
bool OpenDDS::DCPS::DataSampleHeader::group_coherent_ |
Definition at line 108 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::DataReaderImpl::accept_sample_processing(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), init(), OpenDDS::DCPS::operator<<(), and OpenDDS::DCPS::to_string().
bool OpenDDS::DCPS::DataSampleHeader::historic_sample_ |
This flag indicates a sample has been resent from a non-VOLATILE DataWriter.
Definition at line 102 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::DataReaderImpl::check_historic(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::customize_queue_element_helper(), OpenDDS::DCPS::DataReaderImpl::deliver_historic(), OpenDDS::DCPS::DataReaderImpl::filter_sample(), init(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::RtpsSampleHeader::process_iqos(), OpenDDS::RTPS::Sedp::Writer::set_header_fields(), and OpenDDS::DCPS::to_string().
bool OpenDDS::DCPS::DataSampleHeader::key_fields_only_ |
Only the key fields of the data sample are present in the payload.
Definition at line 132 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::DataWriterImpl::create_control_message(), OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::RTPS::Sedp::Reader::data_received(), OpenDDS::RTPS::Sedp::LivelinessReader::data_received_i(), OpenDDS::RTPS::decode_parameter_list(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::dispose_unregister(), init(), OpenDDS::DCPS::RtpsSampleHeader::into_received_data_sample(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::lookup_instance(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::reassemble_i(), and OpenDDS::DCPS::to_string().
bool OpenDDS::DCPS::DataSampleHeader::lifespan_duration_ |
This flag indicates the sample header contains non-default LIFESPAN duration fields.
Definition at line 106 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::ReplayerImpl::create_sample_data_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), OpenDDS::DCPS::DataReaderImpl::filter_sample(), init(), OpenDDS::DCPS::operator<<(), and OpenDDS::DCPS::to_string().
ACE_UINT32 OpenDDS::DCPS::DataSampleHeader::lifespan_duration_nanosec_ |
Definition at line 172 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::ReplayerImpl::create_sample_data_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), OpenDDS::DCPS::DataReaderImpl::filter_sample(), init(), OpenDDS::DCPS::operator<<(), and OpenDDS::DCPS::to_string().
ACE_INT32 OpenDDS::DCPS::DataSampleHeader::lifespan_duration_sec_ |
The LIFESPAN duration field is generated from the DataWriter or supplied by the application at the time of the write. This field is used to determine if a given sample is considered 'stale' and should be discarded by associated DataReader. These fields are optional and are controlled by the lifespan_duration_ flag.
Definition at line 171 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::ReplayerImpl::create_sample_data_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), OpenDDS::DCPS::DataReaderImpl::filter_sample(), init(), OpenDDS::DCPS::operator<<(), and OpenDDS::DCPS::to_string().
char OpenDDS::DCPS::DataSampleHeader::message_id_ |
The enum MessageId.
Definition at line 87 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::MulticastDataLink::check_header(), OpenDDS::DCPS::DataLink::create_control(), OpenDDS::DCPS::DataWriterImpl::create_control_message(), OpenDDS::DCPS::ReplayerImpl::create_sample_data_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::customize_queue_element_helper(), OpenDDS::DCPS::RtpsUdpDataLink::customize_queue_element_non_reliable_i(), OpenDDS::DCPS::WriteDataContainer::data_delivered(), OpenDDS::DCPS::WriteDataContainer::data_dropped(), OpenDDS::DCPS::RecorderImpl::data_received(), OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::RTPS::Sedp::Reader::data_received(), OpenDDS::RTPS::Sedp::DiscoveryReader::data_received_i(), OpenDDS::RTPS::Sedp::LivelinessReader::data_received_i(), OpenDDS::RTPS::Sedp::SecurityReader::data_received_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::dds_demarshal(), OpenDDS::DCPS::ShmemReceiveStrategy::deliver_sample(), OpenDDS::DCPS::UdpReceiveStrategy::deliver_sample(), OpenDDS::DCPS::TcpReceiveStrategy::deliver_sample(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::deliver_sample_i(), init(), OpenDDS::DCPS::RtpsSampleHeader::into_received_data_sample(), OpenDDS::DCPS::UdpDataLink::open(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::RtpsSampleHeader::populate_data_control_submessages(), OpenDDS::DCPS::RtpsSampleHeader::populate_data_sample_submessages(), OpenDDS::DCPS::RtpsSampleHeader::process_iqos(), OpenDDS::DCPS::WriteDataContainer::release_buffer(), OpenDDS::DCPS::TcpDataLink::request_ack_received(), OpenDDS::DCPS::MulticastDataLink::sample_received(), OpenDDS::DCPS::ShmemDataLink::send_association_msg(), OpenDDS::DCPS::TcpDataLink::send_association_msg(), OpenDDS::DCPS::TcpDataLink::send_graceful_disconnect_message(), OpenDDS::DCPS::TransportClient::send_i(), OpenDDS::RTPS::Sedp::Writer::set_header_fields(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::set_instance_state_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::store_instance_data(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::store_instance_data_check(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::store_synthetic_data(), OpenDDS::DCPS::to_string(), valid_data(), and OpenDDS::DCPS::DataReaderImpl::writer_activity().
ACE_UINT32 OpenDDS::DCPS::DataSampleHeader::message_length_ |
The size of the data sample (without header). After this header is demarshaled, the transport expects to see this many bytes in the stream before the start of the next header (or end of the Transport PDU).
Definition at line 144 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::DataLink::create_control(), OpenDDS::DCPS::DataWriterImpl::create_control_message(), OpenDDS::DCPS::ReplayerImpl::create_sample_data_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::end_historic_samples_i(), init(), OpenDDS::DCPS::RtpsSampleHeader::into_received_data_sample(), join(), OpenDDS::DCPS::UdpDataLink::open(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::request_ack_i(), OpenDDS::DCPS::TcpDataLink::request_ack_received(), OpenDDS::DCPS::ShmemDataLink::request_ack_received(), OpenDDS::DCPS::ShmemDataLink::send_association_msg(), OpenDDS::DCPS::TcpDataLink::send_association_msg(), OpenDDS::DCPS::TcpDataLink::send_graceful_disconnect_message(), OpenDDS::RTPS::Sedp::Writer::set_header_fields(), split(), and OpenDDS::DCPS::to_string().
bool OpenDDS::DCPS::DataSampleHeader::more_fragments_ |
The current "Data Sample" needs reassembly before further processing.
Definition at line 120 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::TransportReassembly::data_unavailable(), init(), OpenDDS::DCPS::TransportReassembly::FragInfo::insert(), OpenDDS::DCPS::RtpsSampleHeader::into_received_data_sample(), join(), OpenDDS::DCPS::operator<<(), split(), and OpenDDS::DCPS::to_string().
GUID_t OpenDDS::DCPS::DataSampleHeader::publication_id_ |
Identify the DataWriter that produced the sample data being sent.
Definition at line 177 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::DataReaderImpl::accept_sample_processing(), OpenDDS::DCPS::TcpDataLink::ack_received(), OpenDDS::DCPS::DataReaderImpl::check_historic(), OpenDDS::DCPS::DataWriterImpl::create_control_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), OpenDDS::DCPS::RecorderImpl::data_received(), OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::RTPS::Sedp::Reader::data_received(), OpenDDS::DCPS::DataLink::data_received_i(), OpenDDS::RTPS::Sedp::DiscoveryReader::data_received_i(), OpenDDS::RTPS::Sedp::TypeLookupRequestReader::data_received_i(), OpenDDS::RTPS::Sedp::TypeLookupReplyReader::data_received_i(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::decode_payload(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::deliver_sample_i(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::MessageReceiver::fill_header(), OpenDDS::DCPS::RtpsUdpDataLink::filterBestEffortReaders(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::finish_store_instance_data(), init(), OpenDDS::DCPS::RtpsSampleHeader::into_received_data_sample(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::RtpsSampleHeader::populate_data_control_submessages(), OpenDDS::RTPS::Sedp::TypeLookupReplyReader::process_get_dependencies_reply(), OpenDDS::DCPS::DataReaderImpl::process_latency(), OpenDDS::RTPS::Sedp::TypeLookupReplyReader::process_type_lookup_reply(), OpenDDS::DCPS::ReliableSession::ready_to_deliver(), OpenDDS::DCPS::TransportReassembly::reassemble_i(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::reassemble_i(), OpenDDS::DCPS::TcpDataLink::request_ack_received(), OpenDDS::DCPS::ShmemDataLink::request_ack_received(), OpenDDS::DCPS::ShmemDataLink::send_association_msg(), OpenDDS::DCPS::TcpDataLink::send_association_msg(), OpenDDS::DCPS::DataLink::send_control(), OpenDDS::RTPS::Sedp::Writer::set_header_fields(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::set_instance_state_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::store_instance_data(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::store_instance_data_check(), OpenDDS::DCPS::to_string(), OpenDDS::DCPS::ReplayerImpl::write(), and OpenDDS::DCPS::DataReaderImpl::writer_activity().
GUID_t OpenDDS::DCPS::DataSampleHeader::publisher_id_ |
Id representing the coherent group. Optional field that's only present if the flag for group_coherent_ is set.
Definition at line 181 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::DataReaderImpl::accept_sample_processing(), OpenDDS::DCPS::DataWriterImpl::create_control_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), init(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::TcpDataLink::request_ack_received(), OpenDDS::DCPS::ShmemDataLink::send_association_msg(), OpenDDS::DCPS::TcpDataLink::send_association_msg(), and OpenDDS::DCPS::to_string().
bool OpenDDS::DCPS::DataSampleHeader::reserved_1 |
Definition at line 134 of file DataSampleHeader.h.
bool OpenDDS::DCPS::DataSampleHeader::reserved_2 |
Definition at line 135 of file DataSampleHeader.h.
bool OpenDDS::DCPS::DataSampleHeader::reserved_3 |
Definition at line 136 of file DataSampleHeader.h.
bool OpenDDS::DCPS::DataSampleHeader::reserved_4 |
Definition at line 137 of file DataSampleHeader.h.
bool OpenDDS::DCPS::DataSampleHeader::reserved_5 |
Definition at line 138 of file DataSampleHeader.h.
bool OpenDDS::DCPS::DataSampleHeader::reserved_6 |
Definition at line 139 of file DataSampleHeader.h.
SequenceNumber OpenDDS::DCPS::DataSampleHeader::sequence_ |
The sequence number is obtained from the Publisher associated with the DataWriter based on the PRESENTATION requirement for the sequence value (access_scope == GROUP).
Definition at line 149 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::TcpDataLink::ack_received(), OpenDDS::DCPS::DataReaderImpl::check_historic(), OpenDDS::DCPS::DataWriterImpl::create_control_message(), OpenDDS::DCPS::ReplayerImpl::create_sample_data_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), OpenDDS::DCPS::WriteDataContainer::data_delivered(), OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::DCPS::TransportReassembly::data_unavailable(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::deliver_sample_i(), OpenDDS::DCPS::RtpsUdpDataLink::filterBestEffortReaders(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::finish_store_instance_data(), init(), OpenDDS::DCPS::TransportReassembly::FragInfo::insert(), OpenDDS::DCPS::RtpsSampleHeader::into_received_data_sample(), join(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::RtpsSampleHeader::populate_data_control_submessages(), OpenDDS::DCPS::RtpsSampleHeader::populate_data_sample_submessages(), OpenDDS::DCPS::ReliableSession::ready_to_deliver(), OpenDDS::DCPS::TransportReassembly::reassemble_i(), OpenDDS::DCPS::WriteDataContainer::reenqueue_all(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::remove_sample(), OpenDDS::DCPS::TcpDataLink::request_ack_received(), OpenDDS::DCPS::ShmemDataLink::request_ack_received(), OpenDDS::DCPS::ShmemDataLink::send_association_msg(), OpenDDS::DCPS::TcpDataLink::send_association_msg(), OpenDDS::DCPS::TransportSendElement::sequence(), OpenDDS::DCPS::TransportSendControlElement::sequence(), OpenDDS::RTPS::Sedp::Writer::set_header_fields(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::store_synthetic_data(), OpenDDS::DCPS::to_string(), OpenDDS::DCPS::DataWriterImpl::write(), and OpenDDS::DCPS::DataReaderImpl::writer_activity().
bool OpenDDS::DCPS::DataSampleHeader::sequence_repair_ |
Due to content filtering, a gap in the sequence numbers may be an expected condition. If this bit is set, assume prior sequence numbers were filtered-out and are not missing.
Definition at line 117 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::DataWriterImpl::create_control_message(), OpenDDS::DCPS::ReplayerImpl::create_sample_data_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), init(), OpenDDS::DCPS::operator<<(), and OpenDDS::DCPS::to_string().
|
private |
Keep track of the amount of data read from a buffer.
Definition at line 269 of file DataSampleHeader.h.
Referenced by get_serialized_size(), and init().
ACE_UINT32 OpenDDS::DCPS::DataSampleHeader::source_timestamp_nanosec_ |
Definition at line 161 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::DataWriterImpl::create_control_message(), OpenDDS::DCPS::ReplayerImpl::create_sample_data_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), OpenDDS::DCPS::RecorderImpl::data_received(), OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::MessageReceiver::fill_header(), OpenDDS::DCPS::DataReaderImpl::filter_sample(), init(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::RtpsSampleHeader::payload_byte_order(), OpenDDS::DCPS::DataReaderImpl::process_latency(), OpenDDS::DCPS::ReceivedDataElement::ReceivedDataElement(), OpenDDS::DCPS::resend_data_expired(), OpenDDS::DCPS::DataDurabilityCache::sample_data_type::sample_data_type(), OpenDDS::RTPS::Sedp::Writer::set_header_fields(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::set_instance_state_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::store_synthetic_data(), and OpenDDS::DCPS::to_string().
ACE_INT32 OpenDDS::DCPS::DataSampleHeader::source_timestamp_sec_ |
The SOURCE_TIMESTAMP field is generated from the DataWriter or supplied by the application at the time of the write. This value is derived from the local hosts system clock, which is assumed to be synchronized with the clocks on other hosts within the domain. This field is required for DESTINATION_ORDER and LIFESPAN policy behaviors of subscriptions. It is also required to be present for all data in the SampleInfo structure supplied along with each data sample.
Definition at line 160 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::DataWriterImpl::create_control_message(), OpenDDS::DCPS::ReplayerImpl::create_sample_data_message(), OpenDDS::DCPS::DataWriterImpl::create_sample_data_message(), OpenDDS::DCPS::RecorderImpl::data_received(), OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::MessageReceiver::fill_header(), OpenDDS::DCPS::DataReaderImpl::filter_sample(), init(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::RtpsSampleHeader::payload_byte_order(), OpenDDS::DCPS::DataReaderImpl::process_latency(), OpenDDS::DCPS::ReceivedDataElement::ReceivedDataElement(), OpenDDS::DCPS::resend_data_expired(), OpenDDS::DCPS::DataDurabilityCache::sample_data_type::sample_data_type(), OpenDDS::RTPS::Sedp::Writer::set_header_fields(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::set_instance_state_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::store_synthetic_data(), and OpenDDS::DCPS::to_string().
char OpenDDS::DCPS::DataSampleHeader::submessage_id_ |
Implementation-specific sub-message Ids.
Definition at line 90 of file DataSampleHeader.h.
Referenced by OpenDDS::DCPS::DataLink::create_control(), init(), OpenDDS::DCPS::operator<<(), OpenDDS::DCPS::MulticastDataLink::sample_received(), and OpenDDS::DCPS::to_string().