OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <PacketRemoveVisitor.h>
Public Member Functions | |
PacketRemoveVisitor (const TransportQueueElement::MatchCriteria &match, ACE_Message_Block *&unsent_head_block, ACE_Message_Block *header_block, MessageBlockAllocator &mb_allocator, DataBlockAllocator &db_allocator, bool remove_all=false) | |
virtual | ~PacketRemoveVisitor () |
virtual int | visit_element_ref (TransportQueueElement *&element) |
RemoveResult | status () const |
![]() | |
BasicQueueVisitor () | |
virtual | ~BasicQueueVisitor () |
virtual int | visit_element (TransportQueueElement *element) |
virtual int | visit_element_remove (TransportQueueElement *element, int &remove) |
Private Attributes | |
const TransportQueueElement::MatchCriteria & | match_ |
The sample that needs to be removed. More... | |
ACE_Message_Block *& | head_ |
The head block of the chain of unsent blocks in the packet. More... | |
ACE_Message_Block * | header_block_ |
RemoveResult | status_ |
Holds the status of our visit. More... | |
ACE_Message_Block * | current_block_ |
ACE_Message_Block * | previous_block_ |
MessageBlockAllocator & | replaced_element_mb_allocator_ |
Cached allocator for DataSampleHeader message block. More... | |
DataBlockAllocator & | replaced_element_db_allocator_ |
Cached allocator for DataSampleHeader data block. More... | |
bool | remove_all_ |
Definition at line 26 of file PacketRemoveVisitor.h.
OpenDDS::DCPS::PacketRemoveVisitor::PacketRemoveVisitor | ( | const TransportQueueElement::MatchCriteria & | match, |
ACE_Message_Block *& | unsent_head_block, | ||
ACE_Message_Block * | header_block, | ||
MessageBlockAllocator & | mb_allocator, | ||
DataBlockAllocator & | db_allocator, | ||
bool | remove_all = false |
||
) |
Definition at line 23 of file PacketRemoveVisitor.cpp.
References DBG_ENTRY_LVL.
|
virtual |
ACE_INLINE OpenDDS::DCPS::RemoveResult OpenDDS::DCPS::PacketRemoveVisitor::status | ( | void | ) | const |
Definition at line 11 of file PacketRemoveVisitor.inl.
References DBG_ENTRY_LVL, and status_.
Referenced by OpenDDS::DCPS::TransportSendStrategy::do_remove_sample(), and OpenDDS::DCPS::SingleSendBuffer::retain_buffer().
|
virtual |
The BasicQueue<T>::accept_remove_visitor() method will call this visit_element() method for each element in the queue.
Reimplemented from OpenDDS::DCPS::BasicQueueVisitor< TransportQueueElement >.
Definition at line 49 of file PacketRemoveVisitor.cpp.
References ACE_ERROR, ACE_Message_Block::base(), ACE_Message_Block::cont(), current_block_, OpenDDS::DCPS::TransportQueueElement::data_dropped(), DBG_ENTRY_LVL, ACE_Message_Block::duplicate(), head_, header_block_, OpenDDS::DCPS::TransportQueueElement::is_retained_replaced(), LM_DEBUG, LM_ERROR, match_, OpenDDS::DCPS::TransportQueueElement::MatchCriteria::matches(), OpenDDS::DCPS::TransportQueueElement::msg(), OPENDDS_END_VERSIONED_NAMESPACE_DECL, previous_block_, ACE_Message_Block::rd_ptr(), remove_all_, OpenDDS::DCPS::REMOVE_ERROR, OpenDDS::DCPS::REMOVE_FOUND, OpenDDS::DCPS::REMOVE_RELEASED, replaced_element_db_allocator_, replaced_element_mb_allocator_, status_, OpenDDS::DCPS::TransportQueueElement::MatchCriteria::unique(), and VDBG.
|
private |
This is the message block in the chain that corresponds to the current (non-head) element being visited.
Definition at line 62 of file PacketRemoveVisitor.h.
Referenced by visit_element_ref().
|
private |
The head block of the chain of unsent blocks in the packet.
Definition at line 51 of file PacketRemoveVisitor.h.
Referenced by visit_element_ref().
|
private |
The packet header block that was duplicate()'d to form the first block in the packet.
Definition at line 55 of file PacketRemoveVisitor.h.
Referenced by visit_element_ref().
|
private |
The sample that needs to be removed.
Definition at line 48 of file PacketRemoveVisitor.h.
Referenced by visit_element_ref().
|
private |
This is the message block in the chain that has its cont() set to the current_block_.
Definition at line 66 of file PacketRemoveVisitor.h.
Referenced by visit_element_ref().
|
private |
Definition at line 73 of file PacketRemoveVisitor.h.
Referenced by visit_element_ref().
|
private |
Cached allocator for DataSampleHeader data block.
Definition at line 71 of file PacketRemoveVisitor.h.
Referenced by visit_element_ref().
|
private |
Cached allocator for DataSampleHeader message block.
Definition at line 69 of file PacketRemoveVisitor.h.
Referenced by visit_element_ref().
|
private |
Holds the status of our visit.
Definition at line 58 of file PacketRemoveVisitor.h.
Referenced by status(), and visit_element_ref().