#include <ReceivedDataElementList.h>
Definition at line 34 of file ReceivedDataElementList.h.
OpenDDS::DCPS::ReceivedDataElement::ReceivedDataElement | ( | const DataSampleHeader & | header, | |
void * | received_data, | |||
ACE_Recursive_Thread_Mutex * | mx | |||
) | [inline] |
Definition at line 36 of file ReceivedDataElementList.h.
References ACE_OS::gettimeofday(), OpenDDS::DCPS::DataSampleHeader::source_timestamp_nanosec_, OpenDDS::DCPS::DataSampleHeader::source_timestamp_sec_, and OpenDDS::DCPS::time_value_to_time().
00037 : pub_(header.publication_id_), 00038 registered_data_(received_data), 00039 sample_state_(DDS::NOT_READ_SAMPLE_STATE), 00040 #ifndef OPENDDS_NO_OBJECT_MODEL_PROFILE 00041 coherent_change_(header.coherent_change_), 00042 group_coherent_(header.group_coherent_), 00043 publisher_id_ (header.publisher_id_), 00044 #endif 00045 disposed_generation_count_(0), 00046 no_writers_generation_count_(0), 00047 zero_copy_cnt_(0), 00048 sequence_(header.sequence_), 00049 previous_data_sample_(0), 00050 next_data_sample_(0), 00051 ref_count_(1), 00052 mx_(mx) 00053 { 00054 00055 this->destination_timestamp_ = time_value_to_time(ACE_OS::gettimeofday()); 00056 00057 this->source_timestamp_.sec = header.source_timestamp_sec_; 00058 this->source_timestamp_.nanosec = header.source_timestamp_nanosec_; 00059 }
virtual OpenDDS::DCPS::ReceivedDataElement::~ReceivedDataElement | ( | ) | [inline, virtual] |
Definition at line 61 of file ReceivedDataElementList.h.
void OpenDDS::DCPS::ReceivedDataElement::dec_ref | ( | ) | [inline] |
Definition at line 63 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::RakeResults< SampleSeq >::copy_into(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::finish_store_instance_data(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::purge_data(), and OpenDDS::DCPS::DataReaderImpl_T< MessageType >::take_next_sample().
00063 { 00064 if (0 == --this->ref_count_) 00065 delete this; 00066 }
void OpenDDS::DCPS::ReceivedDataElement::inc_ref | ( | ) | [inline] |
Definition at line 68 of file ReceivedDataElementList.h.
Referenced by TAO::DCPS::ZeroCopyDataSeq< Sample_T, DEF_MAX >::assign_ptr().
00068 { 00069 ++this->ref_count_; 00070 }
void OpenDDS::DCPS::ReceivedDataElement::operator delete | ( | void * | memory, | |
ACE_New_Allocator & | pool | |||
) |
Definition at line 50 of file ReceivedDataElementList.cpp.
References operator delete().
00051 { 00052 operator delete(memory); 00053 }
void OpenDDS::DCPS::ReceivedDataElement::operator delete | ( | void * | memory | ) |
Definition at line 42 of file ReceivedDataElementList.cpp.
References OpenDDS::DCPS::ReceivedDataElementMemoryBlock::allocator_, and ACE_New_Allocator::free().
Referenced by operator delete().
00043 { 00044 if (memory) { 00045 OpenDDS::DCPS::ReceivedDataElementMemoryBlock* block = static_cast<OpenDDS::DCPS::ReceivedDataElementMemoryBlock*>(memory); 00046 block->allocator_->free(block); 00047 } 00048 }
void * OpenDDS::DCPS::ReceivedDataElement::operator new | ( | size_t | size, | |
ACE_New_Allocator & | pool | |||
) |
Definition at line 35 of file ReceivedDataElementList.cpp.
References OpenDDS::DCPS::ReceivedDataElementMemoryBlock::allocator_, and ACE_New_Allocator::malloc().
00036 { 00037 OpenDDS::DCPS::ReceivedDataElementMemoryBlock* block = static_cast<OpenDDS::DCPS::ReceivedDataElementMemoryBlock*>(pool.malloc(sizeof(OpenDDS::DCPS::ReceivedDataElementMemoryBlock))); 00038 block->allocator_ = &pool; 00039 return block; 00040 }
long OpenDDS::DCPS::ReceivedDataElement::ref_count | ( | ) | [inline] |
Definition at line 72 of file ReceivedDataElementList.h.
00072 { 00073 return this->ref_count_.value(); 00074 }
Sample belongs to an active coherent change set.
Definition at line 93 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::DataReaderImpl_T< MessageType >::finish_store_instance_data(), and OpenDDS::DCPS::DataReaderImpl_T< MessageType >::take_next_sample().
Reception time stamp for this data sample.
Definition at line 89 of file ReceivedDataElementList.h.
The data sample's instance's disposed_generation_count_ at the time the sample was received
Definition at line 104 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::RakeResults< SampleSeq >::copy_into(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::finish_store_instance_data(), OpenDDS::DCPS::InstanceState::most_recent_generation(), OpenDDS::DCPS::InstanceState::sample_info(), and OpenDDS::DCPS::DataReaderImpl::sample_info().
Sample belongs to a group coherent changes.
Definition at line 96 of file ReceivedDataElementList.h.
Definition at line 130 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::ReceivedDataElementWithType< DataTypeWithAllocator >::~ReceivedDataElementWithType().
the next data sample in the ReceivedDataElementList
Definition at line 121 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::SourceDataStrategy::add(), OpenDDS::DCPS::ReceivedDataElementList::add(), OpenDDS::DCPS::ReceivedDataElementList::apply_all(), OpenDDS::DCPS::ReceivedDataElementList::remove(), 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 108 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::RakeResults< SampleSeq >::copy_into(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::finish_store_instance_data(), OpenDDS::DCPS::InstanceState::most_recent_generation(), OpenDDS::DCPS::InstanceState::sample_info(), and OpenDDS::DCPS::DataReaderImpl::sample_info().
the previous data sample in the ReceivedDataElementList
Definition at line 118 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::SourceDataStrategy::add(), OpenDDS::DCPS::ReceivedDataElementList::add(), and OpenDDS::DCPS::ReceivedDataElementList::remove().
Definition at line 76 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::InstanceState::sample_info().
Publisher id represent group identifier.
Definition at line 99 of file ReceivedDataElementList.h.
ACE_Atomic_Op<ACE_Thread_Mutex, long> OpenDDS::DCPS::ReceivedDataElement::ref_count_ [private] |
Definition at line 128 of file ReceivedDataElementList.h.
Data sample received.
Definition at line 79 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::RakeResults< SampleSeq >::copy_into(), OpenDDS::DCPS::RakeResults< SampleSeq >::insert_sample(), OpenDDS::DCPS::GroupRakeData::insert_sample(), OpenDDS::DCPS::RakeResults< SampleSeq >::SortedSetCmp::operator()(), OpenDDS::DCPS::InstanceState::sample_info(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::take_next_sample(), and OpenDDS::DCPS::ReceivedDataElementWithType< DataTypeWithAllocator >::~ReceivedDataElementWithType().
Sample state for this data sample: DDS::NOT_READ_SAMPLE_STATE/DDSREAD_SAMPLE_STATE
Definition at line 83 of file ReceivedDataElementList.h.
Referenced by OpenDDS::DCPS::RakeResults< SampleSeq >::copy_into(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::finish_store_instance_data(), OpenDDS::DCPS::InstanceState::sample_info(), and OpenDDS::DCPS::DataReaderImpl_T< MessageType >::take_next_sample().
The data sample's sequence number.
Definition at line 115 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 86 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().
This is needed to know if delete DataReader should fail with PRECONDITION_NOT_MET because there are outstanding loans.
Definition at line 112 of file ReceivedDataElementList.h.
Referenced by TAO::DCPS::ZeroCopyDataSeq< Sample_T, DEF_MAX >::assign_ptr().