|
OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <TransportSendControlElement.h>


Public Member Functions | |
| TransportSendControlElement (int initial_count, const GUID_t &publisher_id, TransportSendListener *listener, const DataSampleHeader &header, Message_Block_Ptr msg_block) | |
| TransportSendControlElement (int initial_count, const DataSampleElement *dcps_elem) | |
| virtual | ~TransportSendControlElement () |
| virtual bool | requires_exclusive_packet () const |
| Overridden to always return true for Send Control elements. More... | |
| virtual GUID_t | publication_id () const |
| Accessor for the publisher id. 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... | |
| const DataSampleHeader & | header () const |
| const TransportSendListener * | listener () const |
| virtual const ACE_Message_Block * | msg_payload () const |
| The marshalled payload only (sample data) More... | |
| virtual SequenceNumber | sequence () const |
| virtual bool | is_control (GUID_t pub_id) const |
| Is the element a "control" sample from the specified pub_id? More... | |
| virtual bool | owned_by_transport () |
| Is the sample created by the transport? More... | |
| virtual bool | is_request_ack () const |
| virtual bool | is_last_fragment () const |
| Is this QueueElement the last result of fragmentation? More... | |
Public Member Functions inherited from OpenDDS::DCPS::TransportQueueElement | |
| virtual | ~TransportQueueElement () |
| bool | data_dropped (bool dropped_by_transport=false) |
| bool | data_delivered () |
| void | increment_loan () |
| virtual GUID_t | subscription_id () const |
| Accessor for the subscription id, if sent the sample is sent to 1 sub. 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_retained_replaced () const |
Protected Member Functions | |
| virtual void | release_element (bool dropped_by_transport) |
| Invoked when the counter reaches 0. More... | |
Protected Member Functions inherited from OpenDDS::DCPS::TransportQueueElement | |
| TransportQueueElement (unsigned long initial_count) | |
| bool | was_dropped () const |
Private Attributes | |
| GUID_t | publisher_id_ |
| The publisher of the control message. More... | |
| TransportSendListener * | listener_ |
| The TransportSendListener object to call back upon. More... | |
| DataSampleHeader | header_ |
| The OpenDDS DCPS header for this control message. More... | |
| Message_Block_Ptr | msg_ |
| The control message. More... | |
| const DataSampleElement *const | dcps_elem_ |
| If constructed from a DataSampleElement, keep it around for release. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from OpenDDS::DCPS::TransportQueueElement | |
| static ACE_Message_Block * | clone_mb (const ACE_Message_Block *msg, MessageBlockAllocator *mb_allocator, DataBlockAllocator *db_allocator) |
Definition at line 34 of file TransportSendControlElement.h.
| OpenDDS::DCPS::TransportSendControlElement::TransportSendControlElement | ( | int | initial_count, |
| const GUID_t & | publisher_id, | ||
| TransportSendListener * | listener, | ||
| const DataSampleHeader & | header, | ||
| Message_Block_Ptr | msg_block | ||
| ) |
Definition at line 26 of file TransportSendControlElement.cpp.
References DBG_ENTRY_LVL, and release().
| OpenDDS::DCPS::TransportSendControlElement::TransportSendControlElement | ( | int | initial_count, |
| const DataSampleElement * | dcps_elem | ||
| ) |
Definition at line 42 of file TransportSendControlElement.cpp.
References DBG_ENTRY_LVL.
|
virtual |
|
virtual |
A reference-incremented duplicate of the marshalled sample (sample header + sample data)
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 127 of file TransportSendControlElement.cpp.
References DBG_ENTRY_LVL, dcps_elem_, ACE_Message_Block::duplicate(), and msg_.
|
inline |
Definition at line 59 of file TransportSendControlElement.h.
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::customize_queue_element_helper(), OpenDDS::DCPS::RtpsUdpDataLink::customize_queue_element_non_reliable_i(), and OpenDDS::DCPS::RtpsSampleHeader::populate_data_control_submessages().
|
virtual |
Is the element a "control" sample from the specified pub_id?
Reimplemented from OpenDDS::DCPS::TransportQueueElement.
Definition at line 154 of file TransportSendControlElement.cpp.
References OPENDDS_END_VERSIONED_NAMESPACE_DECL, and publisher_id_.
|
inlinevirtual |
Is this QueueElement the last result of fragmentation?
Reimplemented from OpenDDS::DCPS::TransportQueueElement.
Definition at line 76 of file TransportSendControlElement.h.
|
inlinevirtual |
Reimplemented from OpenDDS::DCPS::TransportQueueElement.
Definition at line 74 of file TransportSendControlElement.h.
References OpenDDS::DCPS::REQUEST_ACK.
|
inline |
Definition at line 64 of file TransportSendControlElement.h.
Referenced by OpenDDS::DCPS::RtpsSampleHeader::populate_data_control_submessages(), release_element(), and requires_exclusive_packet().
|
virtual |
Accessor for the ACE_Message_Block.
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 137 of file TransportSendControlElement.cpp.
References DBG_ENTRY_LVL, dcps_elem_, OpenDDS::DCPS::unique_ptr< T, Deleter >::get(), OpenDDS::DCPS::DataSampleElement::get_sample(), and msg_.
Referenced by msg_payload(), release_element(), and requires_exclusive_packet().
|
virtual |
The marshalled payload only (sample data)
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 147 of file TransportSendControlElement.cpp.
References ACE_Message_Block::cont(), DBG_ENTRY_LVL, and msg().
Referenced by OpenDDS::DCPS::RtpsSampleHeader::populate_data_control_submessages().
|
virtual |
Is the sample created by the transport?
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 15 of file TransportSendControlElement.inl.
References ACE_INLINE.
|
virtual |
Accessor for the publisher id.
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 120 of file TransportSendControlElement.cpp.
References DBG_ENTRY_LVL, and publisher_id_.
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::send_heartbeats_manual_i().
|
protectedvirtual |
Invoked when the counter reaches 0.
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 93 of file TransportSendControlElement.cpp.
References DBG_ENTRY_LVL, dcps_elem_, listener(), listener_, msg(), msg_, OpenDDS::DCPS::unique_ptr< T, Deleter >::release(), and OpenDDS::DCPS::TransportQueueElement::was_dropped().
|
virtual |
Overridden to always return true for Send Control elements.
Reimplemented from OpenDDS::DCPS::TransportQueueElement.
Definition at line 59 of file TransportSendControlElement.cpp.
References OpenDDS::DCPS::TransportSendListener::control_delivered(), OpenDDS::DCPS::TransportSendListener::control_dropped(), OpenDDS::DCPS::TransportSendListener::data_delivered(), OpenDDS::DCPS::TransportSendListener::data_dropped(), DBG_ENTRY_LVL, OpenDDS::DCPS::DataSampleElement::get_send_listener(), listener(), and msg().
|
virtual |
Reimplemented from OpenDDS::DCPS::TransportQueueElement.
Definition at line 22 of file TransportSendControlElement.inl.
References header_, OPENDDS_END_VERSIONED_NAMESPACE_DECL, and OpenDDS::DCPS::DataSampleHeader::sequence_.
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::send_heartbeats_manual_i().
|
private |
If constructed from a DataSampleElement, keep it around for release.
Definition at line 97 of file TransportSendControlElement.h.
Referenced by duplicate_msg(), msg(), and release_element().
|
private |
The OpenDDS DCPS header for this control message.
Definition at line 91 of file TransportSendControlElement.h.
Referenced by sequence().
|
private |
The TransportSendListener object to call back upon.
Definition at line 88 of file TransportSendControlElement.h.
Referenced by release_element().
|
private |
The control message.
Definition at line 94 of file TransportSendControlElement.h.
Referenced by duplicate_msg(), msg(), and release_element().
|
private |
The publisher of the control message.
Definition at line 85 of file TransportSendControlElement.h.
Referenced by is_control(), and publication_id().
1.8.13