OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <ReceivedDataElementList.h>
Public Member Functions | |
ReceivedDataElementList (const DataReaderImpl_rch &reader, const InstanceState_rch &instance_state=InstanceState_rch()) | |
~ReceivedDataElementList () | |
void | apply_all (ReceivedDataFilter &match, ReceivedDataOperation &func) |
void | add (ReceivedDataElement *data_sample) |
void | add_by_timestamp (ReceivedDataElement *data_sample) |
bool | remove (ReceivedDataElement *data_sample) |
bool | remove (ReceivedDataFilter &match, bool eval_all) |
const ReceivedDataElement * | peek_tail () |
ReceivedDataElement * | remove_head () |
ReceivedDataElement * | remove_tail () |
size_t | size () const |
bool | has_zero_copies () const |
bool | matches (CORBA::ULong sample_states) const |
ReceivedDataElement * | get_next_match (CORBA::ULong sample_states, ReceivedDataElement *prev) |
void | mark_read (ReceivedDataElement *item) |
void | accept_coherent_change (ReceivedDataElement *item) |
Private Member Functions | |
void | increment_read_count () |
void | decrement_read_count () |
void | increment_not_read_count () |
void | decrement_not_read_count () |
bool | sanity_check () |
bool | sanity_check (ReceivedDataElement *item) |
Private Attributes | |
DataReaderImpl_wrch | reader_ |
ReceivedDataElement * | head_ |
The first element of the list. More... | |
ReceivedDataElement * | tail_ |
The last element of the list. More... | |
size_t | size_ |
Number of elements in the list. More... | |
CORBA::ULong | read_sample_count_ |
CORBA::ULong | not_read_sample_count_ |
CORBA::ULong | sample_states_ |
InstanceState_rch | instance_state_ |
Definition at line 190 of file ReceivedDataElementList.h.
|
explicit |
Definition at line 57 of file ReceivedDataElementList.cpp.
OpenDDS::DCPS::ReceivedDataElementList::~ReceivedDataElementList | ( | ) |
Definition at line 64 of file ReceivedDataElementList.cpp.
void OpenDDS::DCPS::ReceivedDataElementList::accept_coherent_change | ( | ReceivedDataElement * | item | ) |
Definition at line 255 of file ReceivedDataElementList.cpp.
References OpenDDS::DCPS::ReceivedDataElement::coherent_change_, increment_not_read_count(), OPENDDS_ASSERT, and sanity_check().
ACE_INLINE void OpenDDS::DCPS::ReceivedDataElementList::add | ( | ReceivedDataElement * | data_sample | ) |
Definition at line 13 of file ReceivedDataElementList.inl.
References ACE_INLINE, OpenDDS::DCPS::ReceivedDataElement::coherent_change_, OpenDDS::DCPS::InstanceState::empty(), head_, increment_not_read_count(), increment_read_count(), instance_state_, OpenDDS::DCPS::ReceivedDataElement::next_data_sample_, DDS::NOT_READ_SAMPLE_STATE, OpenDDS::DCPS::ReceivedDataElement::previous_data_sample_, OpenDDS::DCPS::ReceivedDataElement::sample_state_, size_, and tail_.
Referenced by OpenDDS::DCPS::ReceivedDataStrategy::add(), and add_by_timestamp().
void OpenDDS::DCPS::ReceivedDataElementList::add_by_timestamp | ( | ReceivedDataElement * | data_sample | ) |
Definition at line 71 of file ReceivedDataElementList.cpp.
References add(), OpenDDS::DCPS::ReceivedDataElement::coherent_change_, head_, increment_not_read_count(), increment_read_count(), OpenDDS::DCPS::ReceivedDataElement::next_data_sample_, DDS::NOT_READ_SAMPLE_STATE, OpenDDS::DCPS::ReceivedDataElement::previous_data_sample_, OpenDDS::DCPS::ReceivedDataElement::sample_state_, size_, and OpenDDS::DCPS::ReceivedDataElement::source_timestamp_.
Referenced by OpenDDS::DCPS::SourceDataStrategy::add().
void OpenDDS::DCPS::ReceivedDataElementList::apply_all | ( | ReceivedDataFilter & | match, |
ReceivedDataOperation & | func | ||
) |
Definition at line 109 of file ReceivedDataElementList.cpp.
References head_, and OpenDDS::DCPS::ReceivedDataElement::next_data_sample_.
Referenced by OpenDDS::DCPS::ReceivedDataStrategy::accept_coherent().
|
private |
Definition at line 302 of file ReceivedDataElementList.cpp.
References OpenDDS::DCPS::InstanceState::instance_handle(), instance_state_, OpenDDS::DCPS::WeakRcHandle< T >::lock(), not_read_sample_count_, DDS::NOT_READ_SAMPLE_STATE, OPENDDS_ASSERT, reader_, and sample_states_.
Referenced by mark_read(), and remove().
|
private |
Definition at line 277 of file ReceivedDataElementList.cpp.
References OpenDDS::DCPS::InstanceState::instance_handle(), instance_state_, OpenDDS::DCPS::WeakRcHandle< T >::lock(), OPENDDS_ASSERT, read_sample_count_, DDS::READ_SAMPLE_STATE, reader_, and sample_states_.
Referenced by remove().
OpenDDS::DCPS::ReceivedDataElement * OpenDDS::DCPS::ReceivedDataElementList::get_next_match | ( | CORBA::ULong | sample_states, |
ReceivedDataElement * | prev | ||
) |
Definition at line 218 of file ReceivedDataElementList.cpp.
References OpenDDS::DCPS::ReceivedDataElement::coherent_change_, head_, OpenDDS::DCPS::ReceivedDataElement::next_data_sample_, OPENDDS_ASSERT, OpenDDS::DCPS::ReceivedDataElement::sample_state_, sanity_check(), and tail_.
Referenced by OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::contains_sample_filtered(), OpenDDS::DCPS::DataReaderImpl::get_ordered_data(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::read_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::read_instance_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::read_next_sample(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::take_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::take_instance_i(), and OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::take_next_sample().
bool OpenDDS::DCPS::ReceivedDataElementList::has_zero_copies | ( | ) | const |
Definition at line 201 of file ReceivedDataElementList.cpp.
References head_, and OpenDDS::DCPS::ReceivedDataElement::next_data_sample_.
Referenced by OpenDDS::DCPS::DataReaderImpl::has_zero_copies().
|
private |
Definition at line 290 of file ReceivedDataElementList.cpp.
References OpenDDS::DCPS::InstanceState::instance_handle(), instance_state_, OpenDDS::DCPS::WeakRcHandle< T >::lock(), not_read_sample_count_, DDS::NOT_READ_SAMPLE_STATE, reader_, and sample_states_.
Referenced by accept_coherent_change(), add(), and add_by_timestamp().
|
private |
Definition at line 265 of file ReceivedDataElementList.cpp.
References OpenDDS::DCPS::InstanceState::instance_handle(), instance_state_, OpenDDS::DCPS::WeakRcHandle< T >::lock(), read_sample_count_, DDS::READ_SAMPLE_STATE, reader_, and sample_states_.
Referenced by add(), add_by_timestamp(), and mark_read().
void OpenDDS::DCPS::ReceivedDataElementList::mark_read | ( | ReceivedDataElement * | item | ) |
Definition at line 238 of file ReceivedDataElementList.cpp.
References OpenDDS::DCPS::ReceivedDataElement::coherent_change_, decrement_not_read_count(), increment_read_count(), DDS::NOT_READ_SAMPLE_STATE, OPENDDS_ASSERT, DDS::READ_SAMPLE_STATE, OpenDDS::DCPS::ReceivedDataElement::sample_state_, and sanity_check().
Referenced by OpenDDS::DCPS::RakeResults< MessageType >::copy_into(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::read_next_sample(), and OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::take_next_sample().
bool OpenDDS::DCPS::ReceivedDataElementList::matches | ( | CORBA::ULong | sample_states | ) | const |
Definition at line 212 of file ReceivedDataElementList.cpp.
References sample_states, and sample_states_.
Referenced by OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::finish_store_instance_data(), and OpenDDS::DCPS::SubscriptionInstance::matches().
|
inline |
Definition at line 208 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::RakeResults< MessageType >::copy_into(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::read_next_sample(), and OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::take_next_sample().
bool OpenDDS::DCPS::ReceivedDataElementList::remove | ( | ReceivedDataElement * | data_sample | ) |
Definition at line 142 of file ReceivedDataElementList.cpp.
References OpenDDS::DCPS::ReceivedDataElement::coherent_change_, decrement_not_read_count(), decrement_read_count(), OpenDDS::DCPS::InstanceState::empty(), head_, instance_state_, OpenDDS::DCPS::ReceivedDataElement::next_data_sample_, DDS::NOT_READ_SAMPLE_STATE, OPENDDS_ASSERT, OpenDDS::DCPS::ReceivedDataElement::previous_data_sample_, OpenDDS::DCPS::ReceivedDataElement::sample_state_, sanity_check(), size_, and tail_.
Referenced by OpenDDS::DCPS::RakeResults< MessageType >::copy_into(), OpenDDS::DCPS::ReceivedDataStrategy::reject_coherent(), and OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::take_next_sample().
bool OpenDDS::DCPS::ReceivedDataElementList::remove | ( | ReceivedDataFilter & | match, |
bool | eval_all | ||
) |
Definition at line 121 of file ReceivedDataElementList.cpp.
References head_, and OpenDDS::DCPS::ReceivedDataElement::next_data_sample_.
ACE_INLINE OpenDDS::DCPS::ReceivedDataElement * OpenDDS::DCPS::ReceivedDataElementList::remove_head | ( | ) |
Definition at line 54 of file ReceivedDataElementList.inl.
References ACE_INLINE, head_, and size_.
Referenced by OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::finish_store_instance_data(), and OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::purge_data().
ACE_INLINE OpenDDS::DCPS::ReceivedDataElement * OpenDDS::DCPS::ReceivedDataElementList::remove_tail | ( | ) |
Definition at line 67 of file ReceivedDataElementList.inl.
|
private |
Definition at line 315 of file ReceivedDataElementList.cpp.
References head_, OpenDDS::DCPS::ReceivedDataElement::next_data_sample_, OPENDDS_ASSERT, OpenDDS::DCPS::ReceivedDataElement::previous_data_sample_, and tail_.
Referenced by accept_coherent_change(), get_next_match(), mark_read(), and remove().
|
private |
Definition at line 325 of file ReceivedDataElementList.cpp.
References head_, OpenDDS::DCPS::ReceivedDataElement::next_data_sample_, OPENDDS_ASSERT, OpenDDS::DCPS::ReceivedDataElement::previous_data_sample_, and tail_.
|
inline |
Definition at line 213 of file ReceivedDataElementList.h.
References sample_states, and size_.
Referenced by OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::finish_store_instance_data(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::purge_data(), and OpenDDS::DCPS::DataReaderImpl::total_samples().
|
private |
The first element of the list.
Definition at line 228 of file ReceivedDataElementList.h.
Referenced by add(), add_by_timestamp(), apply_all(), get_next_match(), has_zero_copies(), remove(), remove_head(), and sanity_check().
|
private |
Definition at line 244 of file ReceivedDataElementList.h.
Referenced by add(), decrement_not_read_count(), decrement_read_count(), increment_not_read_count(), increment_read_count(), and remove().
|
private |
Definition at line 237 of file ReceivedDataElementList.h.
Referenced by decrement_not_read_count(), and increment_not_read_count().
|
private |
Definition at line 236 of file ReceivedDataElementList.h.
Referenced by decrement_read_count(), and increment_read_count().
|
private |
Definition at line 225 of file ReceivedDataElementList.h.
Referenced by decrement_not_read_count(), decrement_read_count(), increment_not_read_count(), and increment_read_count().
|
private |
Definition at line 238 of file ReceivedDataElementList.h.
Referenced by decrement_not_read_count(), decrement_read_count(), increment_not_read_count(), increment_read_count(), and matches().
|
private |
Number of elements in the list.
Definition at line 234 of file ReceivedDataElementList.h.
Referenced by add(), add_by_timestamp(), remove(), remove_head(), and remove_tail().
|
private |
The last element of the list.
Definition at line 231 of file ReceivedDataElementList.h.
Referenced by add(), get_next_match(), remove(), remove_tail(), and sanity_check().