OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <RakeResults_T.h>
Classes | |
struct | InstanceData |
class | SortedSetCmp |
Public Member Functions | |
RakeResults (DataReaderImpl *reader, SampleSeq &received_data, DDS::SampleInfoSeq &info_seq, CORBA::Long max_samples, DDS::PresentationQosPolicy presentation, DDS::QueryCondition_ptr cond, Operation_t oper) | |
bool | insert_sample (ReceivedDataElement *sample, ReceivedDataElementList *rdel, SubscriptionInstance_rch instance, size_t index_in_instance) |
bool | copy_to_user () |
Private Types | |
typedef DDSTraits< MessageType >::MessageSequenceType | SampleSeq |
typedef DDSTraits< MessageType >::MessageSequenceAdapterType | MessageSequenceAdapterType |
Private Member Functions | |
template<class FwdIter > | |
bool | copy_into (FwdIter begin, FwdIter end, MessageSequenceAdapterType &received_data_p) |
RakeResults (const RakeResults &) | |
RakeResults & | operator= (const RakeResults &) |
typedef | OPENDDS_MULTISET_CMP (RakeData, SortedSetCmp) SortedSet |
OPENDDS_VECTOR (RakeData) unsorted_ | |
typedef | OPENDDS_VECTOR (CORBA::ULong) IndexList |
Private Attributes | |
DataReaderImpl * | reader_ |
SampleSeq & | received_data_ |
DDS::SampleInfoSeq & | info_seq_ |
CORBA::ULong | max_samples_ |
DDS::QueryCondition_ptr | cond_ |
Operation_t | oper_ |
bool | do_sort_ |
bool | do_filter_ |
SortedSet | sorted_ |
Rake is an abbreviation for "read or take". This class manages the results from a read() or take() operation, which are the received_data and the info_seq sequences passed in by-reference from the user.
Definition at line 34 of file RakeResults_T.h.
|
private |
Definition at line 37 of file RakeResults_T.h.
|
private |
Definition at line 36 of file RakeResults_T.h.
OpenDDS::DCPS::RakeResults< MessageType >::RakeResults | ( | DataReaderImpl * | reader, |
SampleSeq & | received_data, | ||
DDS::SampleInfoSeq & | info_seq, | ||
CORBA::Long | max_samples, | ||
DDS::PresentationQosPolicy | presentation, | ||
DDS::QueryCondition_ptr | cond, | ||
Operation_t | oper | ||
) |
Definition at line 22 of file RakeResults_T.cpp.
References DDS::PresentationQosPolicy::access_scope, ACE_ERROR, ACE_TEXT(), OpenDDS::DCPS::RakeResults< MessageType >::cond_, OpenDDS::DCPS::RakeResults< MessageType >::do_filter_, OpenDDS::DCPS::RakeResults< MessageType >::do_sort_, OpenDDS::DCPS::QueryConditionImpl::getOrderBys(), OpenDDS::DCPS::QueryConditionImpl::hasFilter(), LM_ERROR, DDS::PresentationQosPolicy::ordered_access, OpenDDS::DCPS::RakeResults< MessageType >::sorted_, and DDS::TOPIC_PRESENTATION_QOS.
|
private |
|
private |
Definition at line 121 of file RakeResults_T.cpp.
References DDS::SampleInfo::absolute_generation_rank, OpenDDS::DCPS::InstanceState::accessed(), OpenDDS::DCPS::DDS_OPERATION_TAKE, OpenDDS::DCPS::ReceivedDataElement::dec_ref(), OpenDDS::DCPS::ReceivedDataElement::disposed_generation_count_, DDS::SampleInfo::generation_rank, OpenDDS::DCPS::RakeResults< MessageType >::info_seq_, OpenDDS::DCPS::SubscriptionInstance::instance_state_, OpenDDS::DCPS::ReceivedDataElementList::mark_read(), OpenDDS::DCPS::RakeResults< MessageType >::max_samples_, OpenDDS::DCPS::InstanceState::most_recent_generation(), OpenDDS::DCPS::ReceivedDataElement::no_writers_generation_count_, OpenDDS::DCPS::OPENDDS_MAP(), OpenDDS::DCPS::OPENDDS_SET(), OpenDDS::DCPS::RakeResults< MessageType >::oper_, OpenDDS::DCPS::ReceivedDataElementList::peek_tail(), OpenDDS::DCPS::SubscriptionInstance::rcvd_samples_, OpenDDS::DCPS::RakeResults< MessageType >::received_data_, OpenDDS::DCPS::ReceivedDataElement::registered_data_, OpenDDS::DCPS::ReceivedDataElementList::remove(), OpenDDS::DCPS::InstanceState::sample_info(), and DDS::SampleInfo::sample_rank.
Referenced by OpenDDS::DCPS::RakeResults< MessageType >::copy_to_user().
bool OpenDDS::DCPS::RakeResults< MessageType >::copy_to_user | ( | ) |
Definition at line 226 of file RakeResults_T.cpp.
References OpenDDS::DCPS::RakeResults< MessageType >::copy_into(), OpenDDS::DCPS::RakeResults< MessageType >::do_sort_, OpenDDS::DCPS::RakeResults< MessageType >::info_seq_, OpenDDS::DCPS::RakeResults< MessageType >::max_samples_, OPENDDS_END_VERSIONED_NAMESPACE_DECL, OpenDDS::DCPS::RakeResults< MessageType >::received_data_, and OpenDDS::DCPS::RakeResults< MessageType >::sorted_.
Referenced by OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::read_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::read_instance_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::take_i(), and OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::take_instance_i().
bool OpenDDS::DCPS::RakeResults< MessageType >::insert_sample | ( | ReceivedDataElement * | sample, |
ReceivedDataElementList * | rdel, | ||
SubscriptionInstance_rch | instance, | ||
size_t | index_in_instance | ||
) |
Returns false if the sample will definitely not be part of the resulting dataset, however if this returns true it still may be excluded (due to sorting and max_samples).
Definition at line 82 of file RakeResults_T.cpp.
References OpenDDS::DCPS::RakeResults< MessageType >::cond_, OpenDDS::DCPS::RakeResults< MessageType >::do_filter_, OpenDDS::DCPS::RakeResults< MessageType >::do_sort_, OpenDDS::DCPS::QueryConditionImpl::filter(), OpenDDS::DCPS::RakeResults< MessageType >::max_samples_, OpenDDS::DCPS::ReceivedDataElement::registered_data_, OpenDDS::DCPS::RakeResults< MessageType >::sorted_, and OpenDDS::DCPS::ReceivedDataElement::valid_data_.
Referenced by OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::read_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::read_instance_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::take_i(), and OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::take_instance_i().
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 73 of file RakeResults_T.h.
Referenced by OpenDDS::DCPS::RakeResults< MessageType >::insert_sample(), and OpenDDS::DCPS::RakeResults< MessageType >::RakeResults().
|
private |
Definition at line 97 of file RakeResults_T.h.
Referenced by OpenDDS::DCPS::RakeResults< MessageType >::insert_sample(), and OpenDDS::DCPS::RakeResults< MessageType >::RakeResults().
|
private |
Definition at line 97 of file RakeResults_T.h.
Referenced by OpenDDS::DCPS::RakeResults< MessageType >::copy_to_user(), OpenDDS::DCPS::RakeResults< MessageType >::insert_sample(), and OpenDDS::DCPS::RakeResults< MessageType >::RakeResults().
|
private |
Definition at line 70 of file RakeResults_T.h.
Referenced by OpenDDS::DCPS::RakeResults< MessageType >::copy_into(), and OpenDDS::DCPS::RakeResults< MessageType >::copy_to_user().
|
private |
Definition at line 71 of file RakeResults_T.h.
Referenced by OpenDDS::DCPS::RakeResults< MessageType >::copy_into(), OpenDDS::DCPS::RakeResults< MessageType >::copy_to_user(), and OpenDDS::DCPS::RakeResults< MessageType >::insert_sample().
|
private |
Definition at line 75 of file RakeResults_T.h.
Referenced by OpenDDS::DCPS::RakeResults< MessageType >::copy_into().
|
private |
Definition at line 68 of file RakeResults_T.h.
|
private |
Definition at line 69 of file RakeResults_T.h.
Referenced by OpenDDS::DCPS::RakeResults< MessageType >::copy_into(), and OpenDDS::DCPS::RakeResults< MessageType >::copy_to_user().
|
private |
Definition at line 101 of file RakeResults_T.h.
Referenced by OpenDDS::DCPS::RakeResults< MessageType >::copy_to_user(), OpenDDS::DCPS::RakeResults< MessageType >::insert_sample(), and OpenDDS::DCPS::RakeResults< MessageType >::RakeResults().