#include <TransportControlElement.h>
Public Member Functions | |
TransportControlElement (Message_Block_Ptr msg_block) | |
virtual | ~TransportControlElement () |
virtual bool | owned_by_transport () |
Is the sample created by the transport? | |
Protected Member Functions | |
virtual bool | requires_exclusive_packet () const |
Does the sample require an exclusive transport packet? | |
virtual RepoId | publication_id () const |
Accessor for the publication id that sent the sample. | |
virtual const ACE_Message_Block * | msg () const |
The marshalled sample (sample header + sample data). | |
virtual const ACE_Message_Block * | msg_payload () const |
The marshalled payload only (sample data). | |
virtual void | release_element (bool dropped_by_transport) |
Invoked when the counter reaches 0. | |
virtual void | data_delivered () |
Private Member Functions | |
TransportControlElement (const TransportControlElement &) | |
Private Attributes | |
Message_Block_Ptr | msg_ |
The control message. |
Definition at line 26 of file TransportControlElement.h.
OpenDDS::DCPS::TransportControlElement::TransportControlElement | ( | Message_Block_Ptr | msg_block | ) | [explicit] |
msg_block - chain of ACE_Message_Blocks containing the control sample held by this queue element, if any.
Definition at line 16 of file TransportControlElement.cpp.
References DBG_ENTRY_LVL, and release().
00018 : TransportQueueElement(1), 00019 msg_( msg_block.release()) 00020 { 00021 DBG_ENTRY_LVL("TransportControlElement","TransportControlElement",6); 00022 }
OpenDDS::DCPS::TransportControlElement::~TransportControlElement | ( | ) | [virtual] |
Definition at line 24 of file TransportControlElement.cpp.
References DBG_ENTRY_LVL.
00025 { 00026 DBG_ENTRY_LVL("TransportControlElement","~TransportControlElement",6); 00027 }
OpenDDS::DCPS::TransportControlElement::TransportControlElement | ( | const TransportControlElement & | ) | [private] |
ACE_INLINE void OpenDDS::DCPS::TransportControlElement::data_delivered | ( | ) | [protected, virtual] |
Invoked when the sample has been sent by a DataLink. The return value indicates if this element is released.
Reimplemented from OpenDDS::DCPS::TransportQueueElement.
Definition at line 20 of file TransportControlElement.inl.
References DBG_ENTRY_LVL.
00021 { 00022 DBG_ENTRY_LVL("TransportControlElement","data_delivered",6); 00023 }
ACE_INLINE const ACE_Message_Block * OpenDDS::DCPS::TransportControlElement::msg | ( | ) | const [protected, virtual] |
The marshalled sample (sample header + sample data).
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 34 of file TransportControlElement.inl.
References OpenDDS::DCPS::unique_ptr< T, Deleter >::get(), and msg_.
00035 { 00036 return this->msg_.get(); 00037 }
ACE_INLINE const ACE_Message_Block * OpenDDS::DCPS::TransportControlElement::msg_payload | ( | ) | const [protected, virtual] |
The marshalled payload only (sample data).
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 41 of file TransportControlElement.inl.
References msg_.
00042 { 00043 return this->msg_->cont(); 00044 }
ACE_INLINE bool OpenDDS::DCPS::TransportControlElement::owned_by_transport | ( | ) | [virtual] |
Is the sample created by the transport?
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 48 of file TransportControlElement.inl.
ACE_INLINE OpenDDS::DCPS::RepoId OpenDDS::DCPS::TransportControlElement::publication_id | ( | ) | const [protected, virtual] |
Accessor for the publication id that sent the sample.
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 27 of file TransportControlElement.inl.
References OpenDDS::DCPS::GUID_UNKNOWN.
00028 { 00029 return GUID_UNKNOWN; 00030 }
void OpenDDS::DCPS::TransportControlElement::release_element | ( | bool | dropped_by_transport | ) | [protected, virtual] |
Invoked when the counter reaches 0.
Implements OpenDDS::DCPS::TransportQueueElement.
Definition at line 30 of file TransportControlElement.cpp.
ACE_INLINE bool OpenDDS::DCPS::TransportControlElement::requires_exclusive_packet | ( | ) | const [protected, virtual] |
Does the sample require an exclusive transport packet?
Reimplemented from OpenDDS::DCPS::TransportQueueElement.
Definition at line 12 of file TransportControlElement.inl.
References DBG_ENTRY_LVL.
00013 { 00014 DBG_ENTRY_LVL("TransportControlElement","requires_exclusive_packet",6); 00015 return true; 00016 }
The control message.
Definition at line 57 of file TransportControlElement.h.
Referenced by msg(), and msg_payload().