OpenDDS::DCPS::SubscriptionInstance Class Reference

Struct that has information about an instance and the instance sample list. More...

#include <SubscriptionInstance.h>

Inheritance diagram for OpenDDS::DCPS::SubscriptionInstance:

Inheritance graph
[legend]
Collaboration diagram for OpenDDS::DCPS::SubscriptionInstance:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SubscriptionInstance (DataReaderImpl *reader, const DDS::DataReaderQos &qos, ACE_Recursive_Thread_Mutex &lock, DDS::InstanceHandle_t handle)
 ~SubscriptionInstance ()

Public Attributes

InstanceState instance_state_
 Instance state for this instance.
SequenceNumber last_sequence_
 sequence number of the move recect data sample received
ReceivedDataElementList rcvd_samples_
 Data sample(s) in this instance.
ReceivedDataStrategyrcvd_strategy_
 ReceivedDataElementList strategy.
DDS::InstanceHandle_t instance_handle_
 The instance handle for the registered object.
ACE_Time_Value last_sample_tv_
ACE_Time_Value cur_sample_tv_
long deadline_timer_id_
ACE_Time_Value last_accepted_

Detailed Description

Struct that has information about an instance and the instance sample list.

Definition at line 36 of file SubscriptionInstance.h.


Constructor & Destructor Documentation

OpenDDS::DCPS::SubscriptionInstance::SubscriptionInstance ( DataReaderImpl reader,
const DDS::DataReaderQos qos,
ACE_Recursive_Thread_Mutex &  lock,
DDS::InstanceHandle_t  handle 
) [inline]

Definition at line 38 of file SubscriptionInstance.h.

References DDS::BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS, DDS::BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS, and DDS::DataReaderQos::destination_order.

00042     : instance_state_(reader, lock, handle),
00043       last_sequence_(),
00044       rcvd_samples_(&instance_state_),
00045       rcvd_strategy_(0),
00046       instance_handle_(handle),
00047       deadline_timer_id_(-1)
00048   {
00049     switch (qos.destination_order.kind) {
00050     case DDS::BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS:
00051       ACE_NEW_NORETURN(this->rcvd_strategy_,
00052                        ReceptionDataStrategy(this->rcvd_samples_));
00053       break;
00054 
00055     case DDS::BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS:
00056       ACE_NEW_NORETURN(this->rcvd_strategy_,
00057                        SourceDataStrategy(this->rcvd_samples_));
00058       break;
00059     }
00060 
00061     if (this->rcvd_strategy_ == 0) {
00062       ACE_ERROR((LM_ERROR,
00063                  ACE_TEXT("(%P|%t) ERROR: SubscriptionInstance: ")
00064                  ACE_TEXT(" unable to allocate ReceiveDataStrategy!\n")));
00065     }
00066   }

OpenDDS::DCPS::SubscriptionInstance::~SubscriptionInstance (  )  [inline]

Definition at line 68 of file SubscriptionInstance.h.

References rcvd_strategy_.

00069   {
00070     delete this->rcvd_strategy_;
00071   }


Member Data Documentation

ACE_Time_Value OpenDDS::DCPS::SubscriptionInstance::cur_sample_tv_

Definition at line 90 of file SubscriptionInstance.h.

Referenced by OpenDDS::DCPS::DataReaderImpl::data_received(), and OpenDDS::DCPS::RequestedDeadlineWatchdog::execute().

long OpenDDS::DCPS::SubscriptionInstance::deadline_timer_id_

Definition at line 92 of file SubscriptionInstance.h.

Referenced by OpenDDS::DCPS::RequestedDeadlineWatchdog::cancel_timer(), OpenDDS::DCPS::RequestedDeadlineWatchdog::execute(), and OpenDDS::DCPS::RequestedDeadlineWatchdog::schedule_timer().

DDS::InstanceHandle_t OpenDDS::DCPS::SubscriptionInstance::instance_handle_

The instance handle for the registered object.

Definition at line 86 of file SubscriptionInstance.h.

Referenced by OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::DCPS::RequestedDeadlineWatchdog::execute(), OpenDDS::DCPS::DataReaderImpl::filter_instance(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::store_instance_data(), and OpenDDS::DCPS::DataReaderImpl_T< MessageType >::store_synthetic_data().

InstanceState OpenDDS::DCPS::SubscriptionInstance::instance_state_

Instance state for this instance.

Definition at line 74 of file SubscriptionInstance.h.

Referenced by OpenDDS::DCPS::RakeResults< SampleSeq >::copy_into(), OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::DCPS::RequestedDeadlineWatchdog::execute(), OpenDDS::DCPS::DataReaderImpl::filter_instance(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::purge_data(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::read_instance_i(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::store_instance_data(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::store_synthetic_data(), and OpenDDS::DCPS::DataReaderImpl_T< MessageType >::take_instance_i().

ACE_Time_Value OpenDDS::DCPS::SubscriptionInstance::last_accepted_

Definition at line 94 of file SubscriptionInstance.h.

Referenced by OpenDDS::DCPS::DataReaderImpl::filter_instance().

ACE_Time_Value OpenDDS::DCPS::SubscriptionInstance::last_sample_tv_

Definition at line 88 of file SubscriptionInstance.h.

Referenced by OpenDDS::DCPS::DataReaderImpl::data_received(), and OpenDDS::DCPS::RequestedDeadlineWatchdog::execute().

SequenceNumber OpenDDS::DCPS::SubscriptionInstance::last_sequence_

sequence number of the move recect data sample received

Definition at line 77 of file SubscriptionInstance.h.

Referenced by OpenDDS::DCPS::DataReaderImpl_T< MessageType >::store_instance_data().

ReceivedDataElementList OpenDDS::DCPS::SubscriptionInstance::rcvd_samples_

Data sample(s) in this instance.

Definition at line 80 of file SubscriptionInstance.h.

Referenced by OpenDDS::DCPS::DataReaderImpl_T< MessageType >::purge_data(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::read_instance_i(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::store_instance_data(), and OpenDDS::DCPS::DataReaderImpl_T< MessageType >::take_instance_i().

ReceivedDataStrategy* OpenDDS::DCPS::SubscriptionInstance::rcvd_strategy_

ReceivedDataElementList strategy.

Definition at line 83 of file SubscriptionInstance.h.

Referenced by OpenDDS::DCPS::DataReaderImpl_T< MessageType >::store_instance_data(), and ~SubscriptionInstance().


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