OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <RtpsCustomizedElement.h>
Public Member Functions | |
RtpsCustomizedElement (TransportQueueElement *orig, Message_Block_Ptr msg) | |
SequenceNumber | last_fragment () const |
![]() | |
TransportCustomizedElement (TransportQueueElement *orig) | |
void | set_fragment (TransportQueueElement *orig) |
virtual GUID_t | publication_id () const |
Accessor for the publication id that sent the sample. More... | |
void | set_publication_id (const GUID_t &id) |
GUID_t | subscription_id () const |
Accessor for the subscription id, if sent the sample is sent to 1 sub. More... | |
void | set_subscription_id (const GUID_t &id) |
SequenceNumber | sequence () const |
void | set_sequence (const SequenceNumber &value) |
virtual ACE_Message_Block * | duplicate_msg () const |
A reference-incremented duplicate of the marshalled sample (sample header + sample data) More... | |
virtual const ACE_Message_Block * | msg () const |
The marshalled sample (sample header + sample data) More... | |
void | set_msg (Message_Block_Ptr m) |
virtual bool | owned_by_transport () |
Is the sample created by the transport? More... | |
virtual bool | is_fragment () const |
Is this QueueElement the result of fragmentation? More... | |
const TransportSendElement * | original_send_element () const |
virtual bool | is_last_fragment () const |
Is this QueueElement the last result of fragmentation? More... | |
![]() | |
virtual | ~TransportQueueElement () |
bool | data_dropped (bool dropped_by_transport=false) |
bool | data_delivered () |
void | increment_loan () |
virtual bool | is_control (GUID_t pub_id) const |
Is the element a "control" sample from the specified pub_id? More... | |
bool | released () const |
Is the listener get called ? More... | |
void | released (bool flag) |
virtual bool | is_request_ack () const |
virtual bool | is_retained_replaced () const |
Private Member Functions | |
virtual | ~RtpsCustomizedElement () |
TqePair | fragment (size_t size) |
const ACE_Message_Block * | msg_payload () const |
The marshalled payload only (sample data) More... | |
Private Attributes | |
SequenceNumber | last_frag_ |
Additional Inherited Members | |
![]() | |
static ACE_Message_Block * | clone_mb (const ACE_Message_Block *msg, MessageBlockAllocator *mb_allocator, DataBlockAllocator *db_allocator) |
![]() | |
virtual void | release_element (bool dropped_by_transport) |
Invoked when the counter reaches 0. More... | |
virtual bool | requires_exclusive_packet () const |
Does the sample require an exclusive transport packet? More... | |
void | set_requires_exclusive () |
virtual | ~TransportCustomizedElement () |
![]() | |
TransportQueueElement (unsigned long initial_count) | |
bool | was_dropped () const |
![]() | |
static const TransportSendElement * | find_original_send_element (TransportQueueElement *orig) |
Definition at line 22 of file RtpsCustomizedElement.h.
ACE_INLINE OpenDDS::DCPS::RtpsCustomizedElement::RtpsCustomizedElement | ( | TransportQueueElement * | orig, |
Message_Block_Ptr | msg | ||
) |
Definition at line 14 of file RtpsCustomizedElement.inl.
References ACE_INLINE, OpenDDS::DCPS::move(), OpenDDS::DCPS::TransportCustomizedElement::set_msg(), and OpenDDS::DCPS::TransportCustomizedElement::set_requires_exclusive().
Referenced by fragment().
|
privatevirtual |
Definition at line 20 of file RtpsCustomizedElement.cpp.
|
privatevirtual |
Create two TransportQueueElements representing the same data payload as the current TransportQueueElement, with the first one (including its DataSampleHeader) fitting in "size" bytes. This method leaves the current TransportQueueElement alone (but can't be made const because the newly-created elements will need to invoke non-const methods on it). Each element in the pair will contain its own serialized modified DataSampleHeader.
If the fragmentation fails, a copy of null_tqe_pair is returned.
Reimplemented from OpenDDS::DCPS::TransportQueueElement.
Definition at line 23 of file RtpsCustomizedElement.cpp.
References last_frag_, OpenDDS::DCPS::move(), OpenDDS::DCPS::TransportCustomizedElement::msg(), OpenDDS::DCPS::null_tqe_pair, RtpsCustomizedElement(), OpenDDS::DCPS::TransportCustomizedElement::set_fragment(), OpenDDS::DCPS::RtpsSampleHeader::split(), and OpenDDS::DCPS::unknown_sequence_range.
ACE_INLINE SequenceNumber OpenDDS::DCPS::RtpsCustomizedElement::last_fragment | ( | ) | const |
Definition at line 24 of file RtpsCustomizedElement.inl.
References last_frag_, and OPENDDS_END_VERSIONED_NAMESPACE_DECL.
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::include_fragment(), and OpenDDS::DCPS::RtpsUdpDataLink::MultiSendBuffer::insert().
|
privatevirtual |
The marshalled payload only (sample data)
Reimplemented from OpenDDS::DCPS::TransportCustomizedElement.
Definition at line 45 of file RtpsCustomizedElement.cpp.
References ACE_Message_Block::cont(), OpenDDS::DCPS::TransportCustomizedElement::msg(), and OPENDDS_END_VERSIONED_NAMESPACE_DECL.
|
private |
Definition at line 39 of file RtpsCustomizedElement.h.
Referenced by fragment(), and last_fragment().