OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <TransportSendElement.h>
Public Member Functions | |
TransportSendElement (int initial_count, const DataSampleElement *sample) | |
virtual | ~TransportSendElement () |
virtual GUID_t | publication_id () const |
Accessor for the publisher id. More... | |
virtual GUID_t | subscription_id () const |
Accessor for the subscription id, if sent the sample is sent to 1 sub. More... | |
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 |
Accessor for the ACE_Message_Block. More... | |
virtual const ACE_Message_Block * | msg_payload () const |
The marshalled payload only (sample data) More... | |
virtual SequenceNumber | sequence () const |
const DataSampleElement * | sample () const |
Original sample from send listener. More... | |
virtual bool | owned_by_transport () |
Is the sample created by the transport? More... | |
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 | requires_exclusive_packet () const |
Does the sample require an exclusive transport packet? More... | |
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 TqePair | fragment (size_t size) |
virtual bool | is_fragment () const |
Is this QueueElement the result of fragmentation? More... | |
virtual bool | is_request_ack () const |
virtual bool | is_retained_replaced () const |
Protected Member Functions | |
virtual void | release_element (bool dropped_by_transport) |
Invoked when the counter reaches 0. More... | |
![]() | |
TransportQueueElement (unsigned long initial_count) | |
bool | was_dropped () const |
Private Attributes | |
const DataSampleElement * | element_ |
Additional Inherited Members | |
![]() | |
static ACE_Message_Block * | clone_mb (const ACE_Message_Block *msg, MessageBlockAllocator *mb_allocator, DataBlockAllocator *db_allocator) |
Definition at line 20 of file TransportSendElement.h.
OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE OpenDDS::DCPS::TransportSendElement::TransportSendElement | ( | int | initial_count, |
const DataSampleElement * | sample | ||
) |
Definition at line 13 of file TransportSendElement.inl.
References ACE_INLINE, and DBG_ENTRY_LVL.
|
virtual |
|
virtual |
A reference-incremented duplicate of the marshalled sample (sample header + sample data)
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 56 of file TransportSendElement.cpp.
References DBG_ENTRY_LVL, ACE_Message_Block::duplicate(), element_, and OpenDDS::DCPS::DataSampleElement::get_sample().
|
inlinevirtual |
Is this QueueElement the last result of fragmentation?
Reimplemented from OpenDDS::DCPS::TransportQueueElement.
Definition at line 47 of file TransportSendElement.h.
Referenced by OpenDDS::DCPS::TransportCustomizedElement::is_last_fragment().
|
virtual |
Accessor for the ACE_Message_Block.
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 63 of file TransportSendElement.cpp.
References DBG_ENTRY_LVL, element_, and OpenDDS::DCPS::DataSampleElement::get_sample().
Referenced by OpenDDS::DCPS::DataLinkSet::send().
|
virtual |
The marshalled payload only (sample data)
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 70 of file TransportSendElement.cpp.
References ACE_Message_Block::cont(), DBG_ENTRY_LVL, element_, OpenDDS::DCPS::DataSampleElement::get_sample(), and OPENDDS_END_VERSIONED_NAMESPACE_DECL.
|
virtual |
Is the sample created by the transport?
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 24 of file TransportSendElement.inl.
References ACE_INLINE.
|
virtual |
Accessor for the publisher id.
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 40 of file TransportSendElement.cpp.
References DBG_ENTRY_LVL, element_, and OpenDDS::DCPS::DataSampleElement::get_pub_id().
|
protectedvirtual |
Invoked when the counter reaches 0.
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 24 of file TransportSendElement.cpp.
References OpenDDS::DCPS::TransportSendListener::data_delivered(), OpenDDS::DCPS::TransportSendListener::data_dropped(), DBG_ENTRY_LVL, element_, OpenDDS::DCPS::DataSampleElement::get_send_listener(), and OpenDDS::DCPS::TransportQueueElement::was_dropped().
ACE_INLINE const OpenDDS::DCPS::DataSampleElement * OpenDDS::DCPS::TransportSendElement::sample | ( | ) | const |
Original sample from send listener.
Definition at line 38 of file TransportSendElement.inl.
References element_, and OPENDDS_END_VERSIONED_NAMESPACE_DECL.
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::customize_queue_element_helper(), and OpenDDS::DCPS::RtpsUdpDataLink::customize_queue_element_non_reliable_i().
|
virtual |
Reimplemented from OpenDDS::DCPS::TransportQueueElement.
Definition at line 31 of file TransportSendElement.inl.
References ACE_INLINE, element_, OpenDDS::DCPS::DataSampleElement::get_header(), and OpenDDS::DCPS::DataSampleHeader::sequence_.
|
virtual |
Accessor for the subscription id, if sent the sample is sent to 1 sub.
Reimplemented from OpenDDS::DCPS::TransportQueueElement.
Definition at line 47 of file TransportSendElement.cpp.
References element_, OpenDDS::DCPS::DataSampleElement::get_num_subs(), OpenDDS::DCPS::DataSampleElement::get_sub_id(), and OpenDDS::DCPS::GUID_UNKNOWN.
Referenced by OpenDDS::DCPS::TransportCustomizedElement::subscription_id().
|
private |
This is the actual element that the transport framework was asked to send.
Definition at line 57 of file TransportSendElement.h.
Referenced by duplicate_msg(), msg(), msg_payload(), publication_id(), release_element(), sample(), sequence(), and subscription_id().