TransportReplacedElement.inl

Go to the documentation of this file.
00001 /*
00002  *
00003  *
00004  * Distributed under the OpenDDS License.
00005  * See: http://www.opendds.org/license.html
00006  */
00007 
00008 #include "EntryExit.h"
00009 
00010 ACE_INLINE
00011 OpenDDS::DCPS::TransportReplacedElement::TransportReplacedElement
00012 (TransportQueueElement* orig_elem,
00013  TransportReplacedElementAllocator* allocator,
00014  MessageBlockAllocator* mb_allocator,
00015  DataBlockAllocator* db_allocator)
00016   : TransportQueueElement(1),
00017     allocator_(allocator),
00018     mb_allocator_ (mb_allocator),
00019     db_allocator_ (db_allocator),
00020     msg_(0)
00021 {
00022   DBG_ENTRY_LVL("TransportReplacedElement","TransportReplacedElement",6);
00023 
00024   // Obtain the publisher id.
00025   this->publisher_id_ = orig_elem->publication_id();
00026 
00027   this->msg_ = TransportQueueElement::clone_mb(orig_elem->msg(),
00028                                                this->mb_allocator_,
00029                                                this->db_allocator_);
00030 }
00031 
00032 ACE_INLINE
00033 OpenDDS::DCPS::RepoId
00034 OpenDDS::DCPS::TransportReplacedElement::publication_id() const
00035 {
00036   DBG_ENTRY_LVL("TransportReplacedElement","publication_id",6);
00037   return this->publisher_id_;
00038 }
00039 
00040 ACE_INLINE
00041 const ACE_Message_Block*
00042 OpenDDS::DCPS::TransportReplacedElement::msg() const
00043 {
00044   DBG_ENTRY_LVL("TransportReplacedElement","msg",6);
00045   return this->msg_;
00046 }
00047 
00048 ACE_INLINE
00049 const ACE_Message_Block*
00050 OpenDDS::DCPS::TransportReplacedElement::msg_payload() const
00051 {
00052   DBG_ENTRY_LVL("TransportReplacedElement", "msg_payload", 6);
00053   return this->msg_->cont();
00054 }
00055 
00056 ACE_INLINE
00057 bool
00058 OpenDDS::DCPS::TransportReplacedElement::owned_by_transport ()
00059 {
00060   return true;
00061 }

Generated on Fri Feb 12 20:05:28 2016 for OpenDDS by  doxygen 1.4.7