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)

Public Attributes

InstanceState instance_state_
 Instance state for this instance.
SequenceNumber last_sequence_
 Sequence number of the move recent data sample received.
ReceivedDataElementList rcvd_samples_
 Data sample(s) in this instance.
unique_ptr< 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 40 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 42 of file SubscriptionInstance.h.

References ACE_TEXT(), DDS::BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS, DDS::BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS, DDS::DataReaderQos::destination_order, LM_ERROR, rcvd_samples_, rcvd_strategy_, and OpenDDS::DCPS::unique_ptr< T, Deleter >::reset().

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

Here is the call graph for this function:


Member Data Documentation

Definition at line 86 of file SubscriptionInstance.h.

Definition at line 88 of file SubscriptionInstance.h.

The instance handle for the registered object.

Definition at line 82 of file SubscriptionInstance.h.

Definition at line 90 of file SubscriptionInstance.h.

Definition at line 84 of file SubscriptionInstance.h.

Sequence number of the move recent data sample received.

Definition at line 73 of file SubscriptionInstance.h.

ReceivedDataElementList strategy.

Definition at line 79 of file SubscriptionInstance.h.

Referenced by SubscriptionInstance().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1