#include <ReceivedDataElementList.h>
Collaboration diagram for OpenDDS::DCPS::ReceivedDataElement:
Public Member Functions | |
ReceivedDataElement (const DataSampleHeader &header, void *received_data) | |
long | dec_ref () |
long | inc_ref () |
long | ref_count () |
Public Attributes | |
PublicationId | pub_ |
void * | registered_data_ |
Data sample received. | |
DDS::SampleStateKind | sample_state_ |
DDS::Time_t | source_timestamp_ |
Source time stamp for this data sample. | |
DDS::Time_t | destination_timestamp_ |
Reception time stamp for this data sample. | |
bool | coherent_change_ |
Sample belongs to an active coherent change set. | |
bool | group_coherent_ |
Sample belongs to a group coherent changes. | |
RepoId | publisher_id_ |
Publisher id represent group identifier. | |
size_t | disposed_generation_count_ |
size_t | no_writers_generation_count_ |
ACE_Atomic_Op< ACE_Thread_Mutex, long > | zero_copy_cnt_ |
SequenceNumber | sequence_ |
The data sample's sequence number. | |
ReceivedDataElement * | previous_data_sample_ |
the previous data sample in the ReceivedDataElementList | |
ReceivedDataElement * | next_data_sample_ |
the next data sample in the ReceivedDataElementList | |
Private Attributes | |
ACE_Atomic_Op< ACE_Thread_Mutex, long > | ref_count_ |
Definition at line 31 of file ReceivedDataElementList.h.
OpenDDS::DCPS::ReceivedDataElement::ReceivedDataElement | ( | const DataSampleHeader & | header, | |
void * | received_data | |||
) | [inline] |
Definition at line 33 of file ReceivedDataElementList.h.
References header, and OpenDDS::DCPS::time_value_to_time().
00034 : pub_(header.publication_id_), 00035 registered_data_(received_data), 00036 sample_state_(DDS::NOT_READ_SAMPLE_STATE), 00037 #ifndef OPENDDS_NO_OBJECT_MODEL_PROFILE 00038 coherent_change_(header.coherent_change_), 00039 group_coherent_(header.group_coherent_), 00040 publisher_id_ (header.publisher_id_), 00041 #endif 00042 disposed_generation_count_(0), 00043 no_writers_generation_count_(0), 00044 zero_copy_cnt_(0), 00045 sequence_(header.sequence_), 00046 previous_data_sample_(0), 00047 next_data_sample_(0), 00048 ref_count_(1) 00049 { 00050 00051 this->destination_timestamp_ = time_value_to_time(ACE_OS::gettimeofday()); 00052 00053 this->source_timestamp_.sec = header.source_timestamp_sec_; 00054 this->source_timestamp_.nanosec = header.source_timestamp_nanosec_; 00055 }
long OpenDDS::DCPS::ReceivedDataElement::dec_ref | ( | ) | [inline] |
Definition at line 57 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::DataReaderImpl_T< MessageType >::dec_ref_data_element().
00057 { 00058 return --this->ref_count_; 00059 }
long OpenDDS::DCPS::ReceivedDataElement::inc_ref | ( | ) | [inline] |
Definition at line 61 of file ReceivedDataElementList.h.
Referenced by TAO::DCPS::ZeroCopyDataSeq< Sample_T, DEF_MAX >::assign_ptr().
00061 { 00062 return ++this->ref_count_; 00063 }
long OpenDDS::DCPS::ReceivedDataElement::ref_count | ( | ) | [inline] |
Definition at line 65 of file ReceivedDataElementList.h.
00065 { 00066 return this->ref_count_.value(); 00067 }
Sample belongs to an active coherent change set.
Definition at line 86 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::DataReaderImpl_T< MessageType >::store_instance_data(), and OpenDDS::DCPS::DataReaderImpl_T< MessageType >::take_next_sample().
The data sample's instance's disposed_generation_count_ at the time the sample was received
Definition at line 97 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::RakeResults< SampleSeq >::copy_into(), OpenDDS::DCPS::InstanceState::most_recent_generation(), OpenDDS::DCPS::InstanceState::sample_info(), OpenDDS::DCPS::DataReaderImpl::sample_info(), and OpenDDS::DCPS::DataReaderImpl_T< MessageType >::store_instance_data().
Sample belongs to a group coherent changes.
Definition at line 89 of file ReceivedDataElementList.h.
the next data sample in the ReceivedDataElementList
Definition at line 114 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::SourceDataStrategy::add(), OpenDDS::DCPS::ReceivedDataElementList::add(), OpenDDS::DCPS::ReceivedDataElementList::apply_all(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::read_instance_i(), OpenDDS::DCPS::ReceivedDataElementList::remove(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::take_instance_i(), and OpenDDS::DCPS::DataReaderImpl_T< MessageType >::take_next_sample().
The data sample's instance's no_writers_generation_count_ at the time the sample was received
Definition at line 101 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::RakeResults< SampleSeq >::copy_into(), OpenDDS::DCPS::InstanceState::most_recent_generation(), OpenDDS::DCPS::InstanceState::sample_info(), OpenDDS::DCPS::DataReaderImpl::sample_info(), and OpenDDS::DCPS::DataReaderImpl_T< MessageType >::store_instance_data().
the previous data sample in the ReceivedDataElementList
Definition at line 111 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::SourceDataStrategy::add(), OpenDDS::DCPS::ReceivedDataElementList::add(), and OpenDDS::DCPS::ReceivedDataElementList::remove().
Definition at line 69 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::InstanceState::sample_info().
ACE_Atomic_Op<ACE_Thread_Mutex, long> OpenDDS::DCPS::ReceivedDataElement::ref_count_ [private] |
Definition at line 117 of file ReceivedDataElementList.h.
Data sample received.
Definition at line 72 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::DataReaderImpl_T< MessageType >::dec_ref_data_element(), OpenDDS::DCPS::RakeResults< SampleSeq >::insert_sample(), OpenDDS::DCPS::GroupRakeData::insert_sample(), OpenDDS::DCPS::RakeResults< SampleSeq >::SortedSetCmp::operator()(), OpenDDS::DCPS::InstanceState::sample_info(), and OpenDDS::DCPS::DataReaderImpl_T< MessageType >::take_next_sample().
Sample state for this data sample: DDS::NOT_READ_SAMPLE_STATE/DDSREAD_SAMPLE_STATE
Definition at line 76 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::InstanceState::sample_info(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::store_instance_data(), and OpenDDS::DCPS::DataReaderImpl_T< MessageType >::take_next_sample().
The data sample's sequence number.
Definition at line 108 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::InstanceState::sample_info(), and OpenDDS::DCPS::DataReaderImpl::sample_info().
Source time stamp for this data sample.
Definition at line 79 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::SourceDataStrategy::add(), OpenDDS::DCPS::RakeResults< SampleSeq >::SortedSetCmp::operator()(), OpenDDS::DCPS::GroupRakeData::SortedSetCmp::operator()(), and OpenDDS::DCPS::InstanceState::sample_info().
ACE_Atomic_Op<ACE_Thread_Mutex, long> OpenDDS::DCPS::ReceivedDataElement::zero_copy_cnt_ |
This is needed to know if delete DataReader should fail with PRECONDITION_NOT_MET because there are outstanding loans.
Definition at line 105 of file ReceivedDataElementList.h.
Referenced by TAO::DCPS::ZeroCopyDataSeq< Sample_T, DEF_MAX >::assign_ptr().