00001
00002
00003
00004
00005
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
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 }