16 #if !defined (__ACE_INLINE__) 27 const GUID_t& publisher_id,
32 publisher_id_(publisher_id),
38 DBG_ENTRY_LVL(
"TransportSendControlElement",
"TransportSendControlElement", 6);
46 ,
listener_(dcps_elem->get_send_listener())
47 ,
header_(dcps_elem->get_header())
50 DBG_ENTRY_LVL(
"TransportSendControlElement",
"TransportSendControlElement", 6);
55 DBG_ENTRY_LVL(
"TransportSendControlElement",
"~TransportSendControlElement", 6);
61 DBG_ENTRY_LVL(
"TransportSendControlElement",
"requires_exclusive_packet", 6);
67 void handle_message(
const bool dropped,
70 const bool dropped_by_transport)
79 void handle_message(
const bool dropped,
81 const bool dropped_by_transport)
95 ACE_UNUSED_ARG(dropped_by_transport);
97 DBG_ENTRY_LVL(
"TransportSendControlElement",
"release_element", 6);
113 handle_message(dropped, dcps_elem, dropped_by_transport);
115 handle_message(dropped,
msg, listener, dropped_by_transport);
122 DBG_ENTRY_LVL(
"TransportSendControlElement",
"publication_id", 6);
129 DBG_ENTRY_LVL(
"TransportSendControlElement",
"duplicate_msg", 6);
149 DBG_ENTRY_LVL(
"TransportSendControlElement",
"msg_payload", 6);
virtual ~TransportSendControlElement()
virtual const ACE_Message_Block * msg() const
Accessor for the ACE_Message_Block.
virtual ACE_Message_Block * duplicate_msg() const
A reference-incremented duplicate of the marshalled sample (sample header + sample data) ...
TransportSendListener * get_send_listener() const
virtual bool is_control(GUID_t pub_id) const
Is the element a "control" sample from the specified pub_id?
GUID_t publisher_id_
The publisher of the control message.
virtual GUID_t publication_id() const
Accessor for the publisher id.
const TransportSendListener * listener() const
Message_Block_Ptr msg_
The control message.
DataSample * get_sample() const
Christopher Diggins *renamed files *fixing compilation errors *adding Visual C project file *removed make Max Lybbert *removed references to missing and unused header
DataSampleHeader header_
The OpenDDS DCPS header for this control message.
virtual const ACE_Message_Block * msg_payload() const
The marshalled payload only (sample data)
virtual void data_dropped(const DataSampleElement *sample, bool dropped_by_transport)
ACE_Message_Block * cont(void) const
virtual ACE_Message_Block * duplicate(void) const
virtual void release_element(bool dropped_by_transport)
Invoked when the counter reaches 0.
virtual void control_delivered(const Message_Block_Ptr &sample)
TransportSendListener * listener_
The TransportSendListener object to call back upon.
const DataSampleElement *const dcps_elem_
If constructed from a DataSampleElement, keep it around for release.
TransportSendControlElement(int initial_count, const GUID_t &publisher_id, TransportSendListener *listener, const DataSampleHeader &header, Message_Block_Ptr msg_block)
#define DBG_ENTRY_LVL(CNAME, MNAME, DBG_LVL)
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
virtual bool requires_exclusive_packet() const
Overridden to always return true for Send Control elements.
virtual void control_dropped(const Message_Block_Ptr &sample, bool dropped_by_transport)
The Internal API and Implementation of OpenDDS.
virtual void data_delivered(const DataSampleElement *sample)
Base wrapper class around a data/control sample to be sent.