OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <SendStateDataSampleList.h>
Public Types | |
typedef SendStateDataSampleListIterator | iterator |
STL-style bidirectional iterator and const-iterator types. More... | |
typedef SendStateDataSampleListConstIterator | const_iterator |
typedef std::reverse_iterator< iterator > | reverse_iterator |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
Public Member Functions | |
SendStateDataSampleList () | |
Default constructor clears the list. More... | |
~SendStateDataSampleList () | |
void | reset () |
Reset to initial state. More... | |
ssize_t | size () const |
DataSampleElement * | head () const |
DataSampleElement * | tail () const |
void | enqueue_head (const DataSampleElement *element) |
void | enqueue_tail (const DataSampleElement *element) |
void | enqueue_tail (SendStateDataSampleList list) |
bool | dequeue_head (DataSampleElement *&stale) |
bool | dequeue (const DataSampleElement *stale) |
iterator | begin () |
Return iterator to beginning of list. More... | |
const_iterator | begin () const |
iterator | end () |
Return iterator to end of list. More... | |
const_iterator | end () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
Static Public Member Functions | |
template<size_t N> | |
static const SendStateDataSampleList * | send_list_containing_element (const DataSampleElement *element, SendStateDataSampleList *(&send_lists)[N]) |
static void | remove (DataSampleElement *stale) |
Protected Attributes | |
DataSampleElement * | head_ |
The first element of the list. More... | |
DataSampleElement * | tail_ |
The last element of the list. More... | |
ssize_t | size_ |
Number of elements in the list. More... | |
Static Private Member Functions | |
static const SendStateDataSampleList * | send_list_containing_element (const DataSampleElement *element, SendStateDataSampleList **begin, SendStateDataSampleList **end) |
Friends | |
class | ::DDS_TEST |
A list of DataSampleElement pointers to be queued by the order the samples are to be transmitted over the transport layer. Cache the number of elements in the list so that list traversal is not required to find this information. The Publisher may use this to maintain a list of samples to be sent with PRESENTATION.access_scope==GROUP by obtaining data from each DataWriter as it becomes available and concatenating the data in the order in which it was written. Manages DataSampleElement's previous_send_sample/next_send_sample pointers
Definition at line 153 of file SendStateDataSampleList.h.
Definition at line 166 of file SendStateDataSampleList.h.
typedef std::reverse_iterator<const_iterator> OpenDDS::DCPS::SendStateDataSampleList::const_reverse_iterator |
Definition at line 169 of file SendStateDataSampleList.h.
STL-style bidirectional iterator and const-iterator types.
Definition at line 165 of file SendStateDataSampleList.h.
typedef std::reverse_iterator<iterator> OpenDDS::DCPS::SendStateDataSampleList::reverse_iterator |
Definition at line 168 of file SendStateDataSampleList.h.
ACE_INLINE OpenDDS::DCPS::SendStateDataSampleList::SendStateDataSampleList | ( | ) |
Default constructor clears the list.
Definition at line 18 of file SendStateDataSampleList.inl.
References ACE_INLINE.
|
inline |
Definition at line 173 of file SendStateDataSampleList.h.
ACE_INLINE SendStateDataSampleList::iterator OpenDDS::DCPS::SendStateDataSampleList::begin | ( | void | ) |
Return iterator to beginning of list.
Definition at line 144 of file SendStateDataSampleList.inl.
References ACE_INLINE, head_, and tail_.
Referenced by OpenDDS::DCPS::DataWriterImpl::association_complete_i(), OpenDDS::DCPS::WriteDataContainer::get_unsent_data(), OpenDDS::DCPS::DataDurabilityCache::insert(), OpenDDS::DCPS::WriteDataContainer::reenqueue_all(), rend(), and OpenDDS::DCPS::DataWriterImpl::replay_durable_data_for().
ACE_INLINE SendStateDataSampleList::const_iterator OpenDDS::DCPS::SendStateDataSampleList::begin | ( | void | ) | const |
Definition at line 158 of file SendStateDataSampleList.inl.
References ACE_INLINE, head_, and tail_.
bool OpenDDS::DCPS::SendStateDataSampleList::dequeue | ( | const DataSampleElement * | stale | ) |
Definition at line 47 of file SendStateDataSampleList.cpp.
References dequeue_head(), head_, OpenDDS::DCPS::DataSampleElement::next_send_sample_, OpenDDS::DCPS::DataSampleElement::previous_send_sample_, size_, and tail_.
Referenced by OpenDDS::DCPS::WriteDataContainer::data_delivered(), OpenDDS::DCPS::WriteDataContainer::data_dropped(), OpenDDS::DCPS::WriteDataContainer::remove_excess_durable(), OpenDDS::DCPS::WriteDataContainer::remove_oldest_sample(), and OpenDDS::DCPS::ReplayerImpl::write().
ACE_INLINE bool OpenDDS::DCPS::SendStateDataSampleList::dequeue_head | ( | DataSampleElement *& | stale | ) |
Definition at line 101 of file SendStateDataSampleList.inl.
References ACE_INLINE, head_, OpenDDS::DCPS::DataSampleElement::next_send_sample_, OpenDDS::DCPS::DataSampleElement::previous_send_sample_, size_, and tail_.
Referenced by dequeue(), and OpenDDS::DCPS::WriteDataContainer::~WriteDataContainer().
ACE_INLINE SendStateDataSampleList::iterator OpenDDS::DCPS::SendStateDataSampleList::end | ( | void | ) |
Return iterator to end of list.
Definition at line 151 of file SendStateDataSampleList.inl.
References ACE_INLINE, head_, and tail_.
Referenced by OpenDDS::DCPS::DataWriterImpl::association_complete_i(), OpenDDS::DCPS::WriteDataContainer::get_unsent_data(), OpenDDS::DCPS::DataDurabilityCache::insert(), rbegin(), OpenDDS::DCPS::WriteDataContainer::reenqueue_all(), OpenDDS::DCPS::DataWriterImpl::replay_durable_data_for(), and send_list_containing_element().
ACE_INLINE SendStateDataSampleList::const_iterator OpenDDS::DCPS::SendStateDataSampleList::end | ( | void | ) | const |
Definition at line 165 of file SendStateDataSampleList.inl.
References ACE_INLINE, head_, and tail_.
ACE_INLINE void OpenDDS::DCPS::SendStateDataSampleList::enqueue_head | ( | const DataSampleElement * | element | ) |
Definition at line 55 of file SendStateDataSampleList.inl.
References ACE_INLINE, head_, OpenDDS::DCPS::DataSampleElement::next_send_sample_, OpenDDS::DCPS::DataSampleElement::previous_send_sample_, size_, and tail_.
Referenced by OpenDDS::DCPS::WriteDataContainer::copy_and_prepend().
ACE_INLINE void OpenDDS::DCPS::SendStateDataSampleList::enqueue_tail | ( | const DataSampleElement * | element | ) |
Definition at line 78 of file SendStateDataSampleList.inl.
References ACE_INLINE, head_, OpenDDS::DCPS::DataSampleElement::next_send_sample_, OpenDDS::DCPS::DataSampleElement::previous_send_sample_, size_, and tail_.
Referenced by OpenDDS::DCPS::DataWriterImpl::association_complete_i(), OpenDDS::DCPS::WriteDataContainer::data_delivered(), OpenDDS::DCPS::WriteDataContainer::data_dropped(), OpenDDS::DCPS::WriteDataContainer::enqueue(), OpenDDS::DCPS::WriteDataContainer::enqueue_control(), OpenDDS::DCPS::WriteDataContainer::get_unsent_data(), OpenDDS::DCPS::DataWriterImpl::replay_durable_data_for(), OpenDDS::RTPS::Sedp::Writer::send_sample_i(), OpenDDS::DCPS::ReplayerImpl::write(), and OpenDDS::DCPS::DataWriterImpl::write().
void OpenDDS::DCPS::SendStateDataSampleList::enqueue_tail | ( | SendStateDataSampleList | list | ) |
Definition at line 92 of file SendStateDataSampleList.cpp.
References head_, OpenDDS::DCPS::DataSampleElement::next_send_sample_, OpenDDS::DCPS::DataSampleElement::previous_send_sample_, size_, and tail_.
ACE_INLINE DataSampleElement * OpenDDS::DCPS::SendStateDataSampleList::head | ( | void | ) | const |
Definition at line 41 of file SendStateDataSampleList.inl.
References ACE_INLINE, and head_.
Referenced by OpenDDS::DCPS::TransportClient::send(), OpenDDS::DCPS::TransportClient::send_i(), send_list_containing_element(), and OpenDDS::DCPS::TransportClient::send_w_control().
ACE_INLINE SendStateDataSampleList::reverse_iterator OpenDDS::DCPS::SendStateDataSampleList::rbegin | ( | void | ) |
Definition at line 172 of file SendStateDataSampleList.inl.
References ACE_INLINE, and end().
Referenced by OpenDDS::DCPS::WriteDataContainer::copy_and_prepend().
ACE_INLINE SendStateDataSampleList::const_reverse_iterator OpenDDS::DCPS::SendStateDataSampleList::rbegin | ( | void | ) | const |
Definition at line 186 of file SendStateDataSampleList.inl.
References ACE_INLINE, and end().
|
static |
Remove from whichever list "stale" belongs to, without needing a reference to the SendStateDataSampleList object itself. That SendStateDataSampleList is no longer accurate and can't be used.
Definition at line 132 of file SendStateDataSampleList.inl.
References ACE_INLINE, OpenDDS::DCPS::DataSampleElement::next_send_sample_, and OpenDDS::DCPS::DataSampleElement::previous_send_sample_.
Referenced by OpenDDS::DCPS::WriteDataContainer::data_delivered(), and OpenDDS::DCPS::WriteDataContainer::data_dropped().
ACE_INLINE SendStateDataSampleList::reverse_iterator OpenDDS::DCPS::SendStateDataSampleList::rend | ( | void | ) |
Definition at line 179 of file SendStateDataSampleList.inl.
References ACE_INLINE, and begin().
Referenced by OpenDDS::DCPS::WriteDataContainer::copy_and_prepend().
ACE_INLINE SendStateDataSampleList::const_reverse_iterator OpenDDS::DCPS::SendStateDataSampleList::rend | ( | void | ) | const |
Definition at line 193 of file SendStateDataSampleList.inl.
References begin(), and OPENDDS_END_VERSIONED_NAMESPACE_DECL.
ACE_INLINE void OpenDDS::DCPS::SendStateDataSampleList::reset | ( | void | ) |
Reset to initial state.
Definition at line 26 of file SendStateDataSampleList.inl.
References ACE_INLINE, head_, size_, and tail_.
Referenced by OpenDDS::DCPS::WriteDataContainer::get_resend_data(), OpenDDS::DCPS::WriteDataContainer::get_unsent_data(), and OpenDDS::DCPS::DataWriterImpl::send_suspended_data().
|
staticprivate |
Definition at line 27 of file SendStateDataSampleList.cpp.
References end(), head(), and OpenDDS::DCPS::DataSampleElement::previous_send_sample_.
Referenced by OpenDDS::DCPS::WriteDataContainer::data_delivered(), OpenDDS::DCPS::WriteDataContainer::data_dropped(), and OpenDDS::DCPS::WriteDataContainer::remove_oldest_sample().
|
inlinestatic |
Returns a pointer to the SendStateDataSampleList containing a given DataSampleElement for use in the typical situation where the send state of a DataSampleElement is tracked by shifting it between distinct SendStateDataSampleLists, one for each state
Definition at line 181 of file SendStateDataSampleList.h.
ACE_INLINE ssize_t OpenDDS::DCPS::SendStateDataSampleList::size | ( | void | ) | const |
Definition at line 34 of file SendStateDataSampleList.inl.
References ACE_INLINE, and size_.
Referenced by OpenDDS::DCPS::DataDurabilityCache::insert(), OpenDDS::DCPS::WriteDataContainer::log_send_state_lists(), OpenDDS::DCPS::WriteDataContainer::pending_data(), OpenDDS::DCPS::WriteDataContainer::reenqueue_all(), and OpenDDS::DCPS::WriteDataContainer::~WriteDataContainer().
ACE_INLINE DataSampleElement * OpenDDS::DCPS::SendStateDataSampleList::tail | ( | void | ) | const |
Definition at line 48 of file SendStateDataSampleList.inl.
References ACE_INLINE, and tail_.
Referenced by OpenDDS::DCPS::TransportClient::send_i().
|
friend |
Definition at line 155 of file SendStateDataSampleList.h.
|
protected |
The first element of the list.
Definition at line 225 of file SendStateDataSampleList.h.
Referenced by begin(), dequeue(), dequeue_head(), end(), enqueue_head(), enqueue_tail(), head(), and reset().
|
protected |
Number of elements in the list.
Definition at line 231 of file SendStateDataSampleList.h.
Referenced by dequeue(), dequeue_head(), enqueue_head(), enqueue_tail(), reset(), and size().
|
protected |
The last element of the list.
Definition at line 228 of file SendStateDataSampleList.h.
Referenced by begin(), dequeue(), dequeue_head(), end(), enqueue_head(), enqueue_tail(), reset(), and tail().