OpenDDS::DCPS::ReceivedDataElement Class Reference

#include <ReceivedDataElementList.h>

Collaboration diagram for OpenDDS::DCPS::ReceivedDataElement:

Collaboration graph
[legend]
List of all members.

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.
ReceivedDataElementprevious_data_sample_
 the previous data sample in the ReceivedDataElementList
ReceivedDataElementnext_data_sample_
 the next data sample in the ReceivedDataElementList

Private Attributes

ACE_Atomic_Op< ACE_Thread_Mutex,
long > 
ref_count_

Detailed Description

Definition at line 31 of file ReceivedDataElementList.h.


Constructor & Destructor Documentation

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   }


Member Function Documentation

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   }


Member Data Documentation

bool OpenDDS::DCPS::ReceivedDataElement::coherent_change_

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().

DDS::Time_t OpenDDS::DCPS::ReceivedDataElement::destination_timestamp_

Reception time stamp for this data sample.

Definition at line 82 of file ReceivedDataElementList.h.

size_t OpenDDS::DCPS::ReceivedDataElement::disposed_generation_count_

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().

bool OpenDDS::DCPS::ReceivedDataElement::group_coherent_

Sample belongs to a group coherent changes.

Definition at line 89 of file ReceivedDataElementList.h.

ReceivedDataElement* OpenDDS::DCPS::ReceivedDataElement::next_data_sample_

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().

size_t OpenDDS::DCPS::ReceivedDataElement::no_writers_generation_count_

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().

ReceivedDataElement* OpenDDS::DCPS::ReceivedDataElement::previous_data_sample_

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().

PublicationId OpenDDS::DCPS::ReceivedDataElement::pub_

Definition at line 69 of file ReceivedDataElementList.h.

Referenced by OpenDDS::DCPS::InstanceState::sample_info().

RepoId OpenDDS::DCPS::ReceivedDataElement::publisher_id_

Publisher id represent group identifier.

Definition at line 92 of file ReceivedDataElementList.h.

ACE_Atomic_Op<ACE_Thread_Mutex, long> OpenDDS::DCPS::ReceivedDataElement::ref_count_ [private]

Definition at line 117 of file ReceivedDataElementList.h.

void* OpenDDS::DCPS::ReceivedDataElement::registered_data_

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().

DDS::SampleStateKind OpenDDS::DCPS::ReceivedDataElement::sample_state_

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().

SequenceNumber OpenDDS::DCPS::ReceivedDataElement::sequence_

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().

DDS::Time_t OpenDDS::DCPS::ReceivedDataElement::source_timestamp_

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().


The documentation for this class was generated from the following file:
Generated on Fri Feb 12 20:06:22 2016 for OpenDDS by  doxygen 1.4.7