OpenDDS::DCPS::TransportControlElement Class Reference

#include <TransportControlElement.h>

Inheritance diagram for OpenDDS::DCPS::TransportControlElement:
Inheritance graph
[legend]
Collaboration diagram for OpenDDS::DCPS::TransportControlElement:
Collaboration graph
[legend]

List of all members.

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_Blockmsg () const
 The marshalled sample (sample header + sample data).
virtual const ACE_Message_Blockmsg_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.

Detailed Description

Definition at line 26 of file TransportControlElement.h.


Constructor & Destructor Documentation

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 }

Here is the call graph for this function:

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]

Member Function Documentation

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 }

Here is the call graph for this function:

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.

00049 {
00050   return true;
00051 }

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.

00033 {
00034   delete this;
00035 }

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 }


Member Data Documentation

The control message.

Definition at line 57 of file TransportControlElement.h.

Referenced by msg(), and msg_payload().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1