#include <DataReaderImpl.h>
Inheritance diagram for OpenDDS::DCPS::DataReaderImpl:


Public Types | |
| typedef std::map< ::DDS::InstanceHandle_t, SubscriptionInstance * > | SubscriptionInstanceMapType |
Public Member Functions | |
| DataReaderImpl (void) | |
| virtual | ~DataReaderImpl (void) |
| virtual void | add_associations (::OpenDDS::DCPS::RepoId yourId, const OpenDDS::DCPS::WriterAssociationSeq &writers) throw ( CORBA::SystemException ) |
| virtual void | remove_associations (const OpenDDS::DCPS::WriterIdSeq &writers,::CORBA::Boolean callback) throw ( CORBA::SystemException ) |
| virtual void | update_incompatible_qos (const OpenDDS::DCPS::IncompatibleQosStatus &status) throw ( CORBA::SystemException ) |
| ::DDS::DataReaderListener * | listener_for (::DDS::StatusKind kind) |
| virtual int | handle_timeout (const ACE_Time_Value &tv, const void *arg) |
| Handle the assert liveliness timeout. | |
| void | writer_became_alive (PublicationId writer_id, const ACE_Time_Value &when, WriterInfo::WriterState &state) |
| void | writer_became_dead (PublicationId writer_id, const ACE_Time_Value &when, WriterInfo::WriterState &state) |
| void | writer_removed (PublicationId writer_id, WriterInfo::WriterState &state) |
| virtual int | handle_close (ACE_HANDLE, ACE_Reactor_Mask) |
| void | cleanup () |
| virtual void | init (TopicImpl *a_topic, const ::DDS::DataReaderQos &qos,::DDS::DataReaderListener_ptr a_listener, DomainParticipantImpl *participant, SubscriberImpl *subscriber,::DDS::DataReader_ptr dr_objref,::OpenDDS::DCPS::DataReaderRemote_ptr dr_remote_objref) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | delete_contained_entities () throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | set_qos (const ::DDS::DataReaderQos &qos) throw ( CORBA::SystemException ) |
| virtual void | get_qos (::DDS::DataReaderQos &qos) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | set_listener (::DDS::DataReaderListener_ptr a_listener,::DDS::StatusKindMask mask) throw ( CORBA::SystemException ) |
| virtual ::DDS::DataReaderListener_ptr | get_listener () throw ( CORBA::SystemException ) |
| virtual ::DDS::TopicDescription_ptr | get_topicdescription () throw ( CORBA::SystemException ) |
| virtual ::DDS::Subscriber_ptr | get_subscriber () throw ( CORBA::SystemException ) |
| virtual ::DDS::SampleRejectedStatus | get_sample_rejected_status () throw ( CORBA::SystemException ) |
| virtual ::DDS::LivelinessChangedStatus | get_liveliness_changed_status () throw ( CORBA::SystemException ) |
| virtual ::DDS::RequestedDeadlineMissedStatus | get_requested_deadline_missed_status () throw ( CORBA::SystemException ) |
| virtual ::DDS::RequestedIncompatibleQosStatus * | get_requested_incompatible_qos_status () throw ( CORBA::SystemException ) |
| virtual ::DDS::SubscriptionMatchStatus | get_subscription_match_status () throw ( CORBA::SystemException ) |
| virtual ::DDS::SampleLostStatus | get_sample_lost_status () throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | wait_for_historical_data (const ::DDS::Duration_t &max_wait) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | get_matched_publications (::DDS::InstanceHandleSeq &publication_handles) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | get_matched_publication_data (::DDS::PublicationBuiltinTopicData &publication_data,::DDS::InstanceHandle_t publication_handle) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | enable () throw ( CORBA::SystemException ) |
| void | writer_activity (PublicationId writer_id) |
| update liveliness info for this writer. | |
| virtual void | data_received (const ReceivedDataSample &sample) |
| process a message that has been received - could be control or a data sample. | |
| RepoId | get_subscription_id () const |
| void | set_subscription_id (RepoId subscription_id) |
| ::DDS::DataReader_ptr | get_dr_obj_ref () |
| char * | get_topic_name () const |
| bool | have_sample_states (::DDS::SampleStateMask sample_states) const |
| bool | have_view_states (::DDS::ViewStateMask view_states) const |
| bool | have_instance_states (::DDS::InstanceStateMask instance_states) const |
| virtual void | dds_demarshal (const ReceivedDataSample &sample)=0 |
| virtual void | dispose (const ReceivedDataSample &sample) |
| virtual void | unregister (const ReceivedDataSample &sample) |
| CORBA::Long | get_depth () const |
| size_t | get_n_chunks () const |
| void | liveliness_lost () |
| void | remove_all_associations () |
| void | notify_subscription_disconnected (const WriterIdSeq &pubids) |
| void | notify_subscription_reconnected (const WriterIdSeq &pubids) |
| void | notify_subscription_lost (const WriterIdSeq &pubids) |
| void | notify_connection_deleted () |
| void | notify_liveliness_change () |
| bool | is_bit () const |
| virtual DDS::ReturnCode_t | auto_return_loan (void *seq)=0 |
| virtual int | num_zero_copies () |
| virtual void | dec_ref_data_element (ReceivedDataElement *r)=0 |
| void | release_instance (::DDS::InstanceHandle_t handle) |
| Release the instance with the handle. | |
Protected Types | |
| typedef ACE_Reverse_Lock< ACE_Recursive_Thread_Mutex > | Reverse_Lock_t |
Protected Member Functions | |
| SubscriberImpl * | get_subscriber_servant () |
| void | post_read_or_take () |
| virtual ::DDS::ReturnCode_t | enable_specific ()=0 throw ( CORBA::SystemException ) |
| void | sample_info (::DDS::SampleInfoSeq &info_seq, size_t start_idx, size_t count, ReceivedDataElement *ptr) |
| void | sample_info (::DDS::SampleInfo &sample_info, ReceivedDataElement *ptr) |
| CORBA::Long | total_samples () const |
| void | set_sample_lost_status (const ::DDS::SampleLostStatus &status) |
| void | set_sample_rejected_status (const ::DDS::SampleRejectedStatus &status) |
| SubscriptionInstance * | get_handle_instance (::DDS::InstanceHandle_t handle) |
| ::DDS::InstanceHandle_t | get_next_handle () |
| virtual void | release_instance_i (::DDS::InstanceHandle_t handle)=0 |
Protected Attributes | |
| SubscriptionInstanceMapType | instances_ |
| ReceivedDataAllocator * | rd_allocator_ |
| ::DDS::DataReaderQos | qos_ |
| ::DDS::SampleRejectedStatus | sample_rejected_status_ |
| ::DDS::SampleLostStatus | sample_lost_status_ |
| ACE_Recursive_Thread_Mutex | sample_lock_ |
| lock protecting sample container as well as statuses. | |
| Reverse_Lock_t | reverse_sample_lock_ |
| ::DDS::InstanceHandle_t | next_handle_ |
| The instance handle for the next new instance. | |
Private Types | |
| typedef std::map< RepoId, DDS::InstanceHandle_t, GUID_tKeyLessThan > | RepoIdToHandleMap |
| typedef std::map< PublicationId, WriterInfo, GUID_tKeyLessThan > | WriterMapType |
Private Member Functions | |
| void | notify_subscription_lost (const ::DDS::InstanceHandleSeq &handles) |
| bool | bit_lookup_instance_handles (const WriterIdSeq &ids,::DDS::InstanceHandleSeq &hdls) |
| bool | cache_lookup_instance_handles (const WriterIdSeq &ids,::DDS::InstanceHandleSeq &hdls) |
| bool | data_expired (DataSampleHeader const &header) const |
| Check if the received data sample expired. | |
Private Attributes | |
| TopicImpl * | topic_servant_ |
| ::DDS::TopicDescription_var | topic_desc_ |
| ::DDS::StatusKindMask | listener_mask_ |
| ::DDS::DataReaderListener_var | listener_ |
| ::DDS::DataReaderListener * | fast_listener_ |
| DomainParticipantImpl * | participant_servant_ |
| ::DDS::DomainId_t | domain_id_ |
| SubscriberImpl * | subscriber_servant_ |
| DataReaderRemote_var | dr_remote_objref_ |
| ::DDS::DataReader_var | dr_local_objref_ |
| RepoId | subscription_id_ |
| CORBA::Long | depth_ |
| size_t | n_chunks_ |
| ACE_Recursive_Thread_Mutex | publication_handle_lock_ |
| RepoIdToHandleMap | id_to_handle_map_ |
| ::DDS::LivelinessChangedStatus | liveliness_changed_status_ |
| ::DDS::RequestedDeadlineMissedStatus | requested_deadline_missed_status_ |
| ::DDS::RequestedIncompatibleQosStatus | requested_incompatible_qos_status_ |
| ::DDS::SubscriptionMatchStatus | subscription_match_status_ |
| SubscriptionLostStatus | subscription_lost_status_ |
| ACE_Reactor * | reactor_ |
| ACE_Time_Value | liveliness_lease_duration_ |
| long | liveliness_timer_id_ |
| liveliness timer id; -1 if no timer is set | |
| CORBA::Long | last_deadline_missed_total_count_ |
| std::auto_ptr< RequestedDeadlineWatchdog > | watchdog_ |
| bool | is_bit_ |
| bool | initialized_ |
| Flag indicates that the init() is called. | |
| WriterMapType | writers_ |
| publications writing to this reader. | |
Friends | |
| class | WriterInfo |
| class | ::DDS_TEST |
See the DDS specification, OMG formal/04-12-02, for a description of the interface this class is implementing.
This class must be inherited by the type-specific datareader which is specific to the data-type associated with the topic.
typedef std::map<RepoId, DDS::InstanceHandle_t, GUID_tKeyLessThan> OpenDDS::DCPS::DataReaderImpl::RepoIdToHandleMap [private] |
typedef ACE_Reverse_Lock<ACE_Recursive_Thread_Mutex> OpenDDS::DCPS::DataReaderImpl::Reverse_Lock_t [protected] |
| typedef std::map< ::DDS::InstanceHandle_t, SubscriptionInstance*> OpenDDS::DCPS::DataReaderImpl::SubscriptionInstanceMapType |
typedef std::map<PublicationId, WriterInfo, GUID_tKeyLessThan> OpenDDS::DCPS::DataReaderImpl::WriterMapType [private] |
| OpenDDS::DCPS::DataReaderImpl::DataReaderImpl | ( | void | ) |
| OpenDDS::DCPS::DataReaderImpl::~DataReaderImpl | ( | void | ) | [virtual] |
| void OpenDDS::DCPS::DataReaderImpl::add_associations | ( | ::OpenDDS::DCPS::RepoId | yourId, | |
| const OpenDDS::DCPS::WriterAssociationSeq & | writers | |||
| ) | throw ( CORBA::SystemException ) [virtual] |
| virtual DDS::ReturnCode_t OpenDDS::DCPS::DataReaderImpl::auto_return_loan | ( | void * | seq | ) | [pure virtual] |
This method provides virtual access to type specific code that is used when loans are automatically returned. The destructor of the sequence supporing zero-copy read calls this method on the datareader that provided the loan.
| seq | - The sequence of loaned values. |
| bool OpenDDS::DCPS::DataReaderImpl::bit_lookup_instance_handles | ( | const WriterIdSeq & | ids, | |
| ::DDS::InstanceHandleSeq & | hdls | |||
| ) | [private] |
Lookup the instance handles by the publication repo ids via the bit datareader.
| bool OpenDDS::DCPS::DataReaderImpl::cache_lookup_instance_handles | ( | const WriterIdSeq & | ids, | |
| ::DDS::InstanceHandleSeq & | hdls | |||
| ) | [private] |
Lookup the cache to get the instance handle by the publication repo ids.
| void OpenDDS::DCPS::DataReaderImpl::cleanup | ( | ) |
cleanup the DataWriter.
| bool OpenDDS::DCPS::DataReaderImpl::data_expired | ( | DataSampleHeader const & | header | ) | const [private] |
Check if the received data sample expired.
| void OpenDDS::DCPS::DataReaderImpl::data_received | ( | const ReceivedDataSample & | sample | ) | [virtual] |
process a message that has been received - could be control or a data sample.
Implements OpenDDS::DCPS::TransportReceiveListener.
| virtual void OpenDDS::DCPS::DataReaderImpl::dds_demarshal | ( | const ReceivedDataSample & | sample | ) | [pure virtual] |
| virtual void OpenDDS::DCPS::DataReaderImpl::dec_ref_data_element | ( | ReceivedDataElement * | r | ) | [pure virtual] |
| DDS::ReturnCode_t OpenDDS::DCPS::DataReaderImpl::delete_contained_entities | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::DataReader.
| void OpenDDS::DCPS::DataReaderImpl::dispose | ( | const ReceivedDataSample & | sample | ) | [virtual] |
| DDS::ReturnCode_t OpenDDS::DCPS::DataReaderImpl::enable | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::Entity.
| virtual ::DDS::ReturnCode_t OpenDDS::DCPS::DataReaderImpl::enable_specific | ( | ) | throw ( CORBA::SystemException ) [protected, pure virtual] |
| CORBA::Long OpenDDS::DCPS::DataReaderImpl::get_depth | ( | ) | const [inline] |
| ACE_INLINE::DDS::DataReader_ptr OpenDDS::DCPS::DataReaderImpl::get_dr_obj_ref | ( | ) |
| SubscriptionInstance * OpenDDS::DCPS::DataReaderImpl::get_handle_instance | ( | ::DDS::InstanceHandle_t | handle | ) | [protected] |
| DDS::DataReaderListener_ptr OpenDDS::DCPS::DataReaderImpl::get_listener | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::DataReader.
| DDS::LivelinessChangedStatus OpenDDS::DCPS::DataReaderImpl::get_liveliness_changed_status | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::DataReader.
| DDS::ReturnCode_t OpenDDS::DCPS::DataReaderImpl::get_matched_publication_data | ( | ::DDS::PublicationBuiltinTopicData & | publication_data, | |
| ::DDS::InstanceHandle_t | publication_handle | |||
| ) | throw ( CORBA::SystemException ) |
| DDS::ReturnCode_t OpenDDS::DCPS::DataReaderImpl::get_matched_publications | ( | ::DDS::InstanceHandleSeq & | publication_handles | ) | throw ( CORBA::SystemException ) |
| size_t OpenDDS::DCPS::DataReaderImpl::get_n_chunks | ( | ) | const [inline] |
| DDS::InstanceHandle_t OpenDDS::DCPS::DataReaderImpl::get_next_handle | ( | ) | [protected] |
Get an instance handle for a new instance. This method should be called under the protection of a lock to ensure that the handle is unique for the container.
| void OpenDDS::DCPS::DataReaderImpl::get_qos | ( | ::DDS::DataReaderQos & | qos | ) | throw ( CORBA::SystemException ) [virtual] |
| DDS::RequestedDeadlineMissedStatus OpenDDS::DCPS::DataReaderImpl::get_requested_deadline_missed_status | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::DataReader.
| DDS::RequestedIncompatibleQosStatus * OpenDDS::DCPS::DataReaderImpl::get_requested_incompatible_qos_status | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::DataReader.
| DDS::SampleLostStatus OpenDDS::DCPS::DataReaderImpl::get_sample_lost_status | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::DataReader.
| DDS::SampleRejectedStatus OpenDDS::DCPS::DataReaderImpl::get_sample_rejected_status | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::DataReader.
| DDS::Subscriber_ptr OpenDDS::DCPS::DataReaderImpl::get_subscriber | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::DataReader.
| SubscriberImpl * OpenDDS::DCPS::DataReaderImpl::get_subscriber_servant | ( | ) | [protected] |
| RepoId OpenDDS::DCPS::DataReaderImpl::get_subscription_id | ( | ) | const |
| DDS::SubscriptionMatchStatus OpenDDS::DCPS::DataReaderImpl::get_subscription_match_status | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::DataReader.
| char * OpenDDS::DCPS::DataReaderImpl::get_topic_name | ( | ) | const |
| DDS::TopicDescription_ptr OpenDDS::DCPS::DataReaderImpl::get_topicdescription | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::DataReader.
| int OpenDDS::DCPS::DataReaderImpl::handle_close | ( | ACE_HANDLE | , | |
| ACE_Reactor_Mask | ||||
| ) | [virtual] |
| int OpenDDS::DCPS::DataReaderImpl::handle_timeout | ( | const ACE_Time_Value & | tv, | |
| const void * | arg | |||
| ) | [virtual] |
Handle the assert liveliness timeout.
| bool OpenDDS::DCPS::DataReaderImpl::have_instance_states | ( | ::DDS::InstanceStateMask | instance_states | ) | const |
| bool OpenDDS::DCPS::DataReaderImpl::have_sample_states | ( | ::DDS::SampleStateMask | sample_states | ) | const |
| bool OpenDDS::DCPS::DataReaderImpl::have_view_states | ( | ::DDS::ViewStateMask | view_states | ) | const |
| void OpenDDS::DCPS::DataReaderImpl::init | ( | TopicImpl * | a_topic, | |
| const ::DDS::DataReaderQos & | qos, | |||
| ::DDS::DataReaderListener_ptr | a_listener, | |||
| DomainParticipantImpl * | participant, | |||
| SubscriberImpl * | subscriber, | |||
| ::DDS::DataReader_ptr | dr_objref, | |||
| ::OpenDDS::DCPS::DataReaderRemote_ptr | dr_remote_objref | |||
| ) | throw ( CORBA::SystemException ) [virtual] |
| bool OpenDDS::DCPS::DataReaderImpl::is_bit | ( | ) | const |
| DDS::DataReaderListener * OpenDDS::DCPS::DataReaderImpl::listener_for | ( | ::DDS::StatusKind | kind | ) |
This is used to retrieve the listener for a certain status change. If this datareader has a registered listener and the status kind is in the listener mask then the listener is returned. Otherwise, the query for the listener is propagated up to the factory/subscriber.
| void OpenDDS::DCPS::DataReaderImpl::liveliness_lost | ( | ) |
| void OpenDDS::DCPS::DataReaderImpl::notify_connection_deleted | ( | ) |
| void OpenDDS::DCPS::DataReaderImpl::notify_liveliness_change | ( | ) |
| void OpenDDS::DCPS::DataReaderImpl::notify_subscription_disconnected | ( | const WriterIdSeq & | pubids | ) |
| void OpenDDS::DCPS::DataReaderImpl::notify_subscription_lost | ( | const ::DDS::InstanceHandleSeq & | handles | ) | [private] |
| void OpenDDS::DCPS::DataReaderImpl::notify_subscription_lost | ( | const WriterIdSeq & | pubids | ) |
| void OpenDDS::DCPS::DataReaderImpl::notify_subscription_reconnected | ( | const WriterIdSeq & | pubids | ) |
| int OpenDDS::DCPS::DataReaderImpl::num_zero_copies | ( | ) | [virtual] |
This method is used for a precondition check of delete_datareader.
| void OpenDDS::DCPS::DataReaderImpl::post_read_or_take | ( | ) | [protected] |
| void OpenDDS::DCPS::DataReaderImpl::release_instance | ( | ::DDS::InstanceHandle_t | handle | ) |
Release the instance with the handle.
| virtual void OpenDDS::DCPS::DataReaderImpl::release_instance_i | ( | ::DDS::InstanceHandle_t | handle | ) | [protected, pure virtual] |
| void OpenDDS::DCPS::DataReaderImpl::remove_all_associations | ( | ) |
| void OpenDDS::DCPS::DataReaderImpl::remove_associations | ( | const OpenDDS::DCPS::WriterIdSeq & | writers, | |
| ::CORBA::Boolean | callback | |||
| ) | throw ( CORBA::SystemException ) [virtual] |
| void OpenDDS::DCPS::DataReaderImpl::sample_info | ( | ::DDS::SampleInfo & | sample_info, | |
| ReceivedDataElement * | ptr | |||
| ) | [protected] |
| void OpenDDS::DCPS::DataReaderImpl::sample_info | ( | ::DDS::SampleInfoSeq & | info_seq, | |
| size_t | start_idx, | |||
| size_t | count, | |||
| ReceivedDataElement * | ptr | |||
| ) | [protected] |
| DDS::ReturnCode_t OpenDDS::DCPS::DataReaderImpl::set_listener | ( | ::DDS::DataReaderListener_ptr | a_listener, | |
| ::DDS::StatusKindMask | mask | |||
| ) | throw ( CORBA::SystemException ) |
| DDS::ReturnCode_t OpenDDS::DCPS::DataReaderImpl::set_qos | ( | const ::DDS::DataReaderQos & | qos | ) | throw ( CORBA::SystemException ) |
| void OpenDDS::DCPS::DataReaderImpl::set_sample_lost_status | ( | const ::DDS::SampleLostStatus & | status | ) | [protected] |
| void OpenDDS::DCPS::DataReaderImpl::set_sample_rejected_status | ( | const ::DDS::SampleRejectedStatus & | status | ) | [protected] |
| void OpenDDS::DCPS::DataReaderImpl::set_subscription_id | ( | RepoId | subscription_id | ) |
| CORBA::Long OpenDDS::DCPS::DataReaderImpl::total_samples | ( | ) | const [protected] |
| void OpenDDS::DCPS::DataReaderImpl::unregister | ( | const ReceivedDataSample & | sample | ) | [virtual] |
| void OpenDDS::DCPS::DataReaderImpl::update_incompatible_qos | ( | const OpenDDS::DCPS::IncompatibleQosStatus & | status | ) | throw ( CORBA::SystemException ) [virtual] |
| DDS::ReturnCode_t OpenDDS::DCPS::DataReaderImpl::wait_for_historical_data | ( | const ::DDS::Duration_t & | max_wait | ) | throw ( CORBA::SystemException ) |
| void OpenDDS::DCPS::DataReaderImpl::writer_activity | ( | PublicationId | writer_id | ) |
update liveliness info for this writer.
| void OpenDDS::DCPS::DataReaderImpl::writer_became_alive | ( | PublicationId | writer_id, | |
| const ACE_Time_Value & | when, | |||
| WriterInfo::WriterState & | state | |||
| ) |
tell instances when a DataWriter transitions to being alive The writer state is inout parameter, it has to be set ALIVE before handle_timeout is called since some subroutine use the state.
| void OpenDDS::DCPS::DataReaderImpl::writer_became_dead | ( | PublicationId | writer_id, | |
| const ACE_Time_Value & | when, | |||
| WriterInfo::WriterState & | state | |||
| ) |
tell instances when a DataWriter transitions to DEAD The writer state is inout parameter, the state is set to DEAD when it returns.
| void OpenDDS::DCPS::DataReaderImpl::writer_removed | ( | PublicationId | writer_id, | |
| WriterInfo::WriterState & | state | |||
| ) |
tell instance when a DataWriter is removed. The liveliness status need update.
friend class ::DDS_TEST [friend] |
friend class WriterInfo [friend] |
CORBA::Long OpenDDS::DCPS::DataReaderImpl::depth_ [private] |
::DDS::DataReader_var OpenDDS::DCPS::DataReaderImpl::dr_local_objref_ [private] |
DataReaderRemote_var OpenDDS::DCPS::DataReaderImpl::dr_remote_objref_ [private] |
bool OpenDDS::DCPS::DataReaderImpl::initialized_ [private] |
Flag indicates that the init() is called.
SubscriptionInstanceMapType OpenDDS::DCPS::DataReaderImpl::instances_ [mutable, protected] |
bool OpenDDS::DCPS::DataReaderImpl::is_bit_ [private] |
Flag indicates that this datareader is a builtin topic datareader.
CORBA::Long OpenDDS::DCPS::DataReaderImpl::last_deadline_missed_total_count_ [private] |
::DDS::DataReaderListener_var OpenDDS::DCPS::DataReaderImpl::listener_ [private] |
ACE_Time_Value OpenDDS::DCPS::DataReaderImpl::liveliness_lease_duration_ [private] |
The time interval for checking liveliness. TBD: Should this be initialized with DDS::DURATION_INFINITY_SEC and DDS::DURATION_INFINITY_NSEC instead of ACE_Time_Value::zero to be consistent with default duration qos ? Or should we simply use the ACE_Time_Value::zero to indicate the INFINITY duration ?
long OpenDDS::DCPS::DataReaderImpl::liveliness_timer_id_ [private] |
liveliness timer id; -1 if no timer is set
size_t OpenDDS::DCPS::DataReaderImpl::n_chunks_ [private] |
The instance handle for the next new instance.
ACE_Recursive_Thread_Mutex OpenDDS::DCPS::DataReaderImpl::publication_handle_lock_ [private] |
::DDS::DataReaderQos OpenDDS::DCPS::DataReaderImpl::qos_ [protected] |
ACE_Reactor* OpenDDS::DCPS::DataReaderImpl::reactor_ [private] |
The orb's reactor to be used to register the liveliness timer.
::DDS::RequestedDeadlineMissedStatus OpenDDS::DCPS::DataReaderImpl::requested_deadline_missed_status_ [private] |
::DDS::RequestedIncompatibleQosStatus OpenDDS::DCPS::DataReaderImpl::requested_incompatible_qos_status_ [private] |
ACE_Recursive_Thread_Mutex OpenDDS::DCPS::DataReaderImpl::sample_lock_ [protected] |
lock protecting sample container as well as statuses.
::DDS::TopicDescription_var OpenDDS::DCPS::DataReaderImpl::topic_desc_ [private] |
std::auto_ptr<RequestedDeadlineWatchdog> OpenDDS::DCPS::DataReaderImpl::watchdog_ [private] |
Watchdog responsible for reporting missed offered deadlines.