OpenDDS  Snapshot(2023/04/07-19:43)
Public Member Functions | Private Attributes | List of all members
OpenDDS::DCPS::BitPubListenerImpl Class Reference

#include <BitPubListenerImpl.h>

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

Public Member Functions

 BitPubListenerImpl (DomainParticipantImpl *partipant)
 
virtual ~BitPubListenerImpl ()
 
virtual void on_requested_deadline_missed (DDS::DataReader_ptr reader, const DDS::RequestedDeadlineMissedStatus &status)
 
virtual void on_requested_incompatible_qos (DDS::DataReader_ptr reader, const DDS::RequestedIncompatibleQosStatus &status)
 
virtual void on_liveliness_changed (DDS::DataReader_ptr reader, const DDS::LivelinessChangedStatus &status)
 
virtual void on_subscription_matched (DDS::DataReader_ptr reader, const DDS::SubscriptionMatchedStatus &status)
 
virtual void on_sample_rejected (DDS::DataReader_ptr reader, const DDS::SampleRejectedStatus &status)
 
virtual void on_data_available (DDS::DataReader_ptr reader)
 
virtual void on_sample_lost (DDS::DataReader_ptr reader, const DDS::SampleLostStatus &status)
 
- Public Member Functions inherited from DDS::DataReaderListener
void on_requested_deadline_missed (in DataReader reader, in RequestedDeadlineMissedStatus status)
 
void on_requested_incompatible_qos (in DataReader reader, in RequestedIncompatibleQosStatus status)
 
void on_sample_rejected (in DataReader reader, in SampleRejectedStatus status)
 
void on_liveliness_changed (in DataReader reader, in LivelinessChangedStatus status)
 
void on_data_available (in DataReader reader)
 
void on_subscription_matched (in DataReader reader, in SubscriptionMatchedStatus status)
 
void on_sample_lost (in DataReader reader, in SampleLostStatus status)
 
- Public Member Functions inherited from OpenDDS::DCPS::LocalObjectBase
virtual void _add_ref ()
 
virtual void _remove_ref ()
 
virtual CORBA::ULong _refcount_value () const
 
- Public Member Functions inherited from CORBA::LocalObject
virtual ~LocalObject (void)
 
virtual CORBA::Boolean _non_existent (void)
 
virtual char * _repository_id (void)
 
virtual CORBA::InterfaceDef_ptr _get_interface (void)
 
virtual CORBA::Object_ptr _get_component (void)
 
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::ExceptionList_ptr exclist, CORBA::ContextList_ptr ctxtlist, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 
virtual CORBA::Request_ptr _request (const char *operation)
 
CORBA::Policy_ptr _get_policy (CORBA::PolicyType type)
 
CORBA::Policy_ptr _get_cached_policy (TAO_Cached_Policy_Type type)
 
CORBA::Object_ptr _set_policy_overrides (const CORBA::PolicyList &policies, CORBA::SetOverrideType set_add)
 
CORBA::PolicyList_get_policy_overrides (const CORBA::PolicyTypeSeq &types)
 
CORBA::Boolean _validate_connection (CORBA::PolicyList_out inconsistent_policies)
 
virtual CORBA::ULong _hash (CORBA::ULong maximum)
 
virtual CORBA::Boolean _is_equivalent (CORBA::Object_ptr other_obj)
 
virtual CORBA::ORB_ptr _get_orb (void)
 
virtual TAO::ObjectKey_key (void)
 
- Public Member Functions inherited from CORBA::Object
virtual ~Object (void)
 
virtual TAO_Abstract_ServantBase_servant (void) const
 
virtual CORBA::Boolean _is_collocated (void) const
 
virtual CORBA::Boolean _is_local (void) const
 
 Object (TAO_Stub *p, CORBA::Boolean collocated=false, TAO_Abstract_ServantBase *servant=0, TAO_ORB_Core *orb_core=0)
 
 Object (IOP::IOR *ior, TAO_ORB_Core *orb_core)
 
virtual TAO_Stub_stubobj (void) const
 
virtual TAO_Stub_stubobj (void)
 
virtual void _proxy_broker (TAO::Object_Proxy_Broker *proxy_broker)
 
virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr)
 
CORBA::Boolean is_evaluated (void) const
 
TAO_ORB_Coreorb_core (void) const
 
IOP::IORsteal_ior (void)
 
const IOP::IORior (void) const
 
virtual bool can_convert_to_ior (void) const
 
virtual char * convert_to_ior (bool use_omg_ior_format, const char *ior_prefix) const
 
void _decr_refcount (void)
 
virtual CORBA::Boolean _is_a (const char *logical_type_id)
 
virtual const char * _interface_repository_id (void) const
 
CORBA::Policy_ptr _get_policy (CORBA::PolicyType type)
 
CORBA::Policy_ptr _get_cached_policy (TAO_Cached_Policy_Type type)
 
CORBA::Object_ptr _set_policy_overrides (const CORBA::PolicyList &policies, CORBA::SetOverrideType set_add)
 
CORBA::PolicyList_get_policy_overrides (const CORBA::PolicyTypeSeq &types)
 
CORBA::Boolean _validate_connection (CORBA::PolicyList_out inconsistent_policies)
 
- Public Member Functions inherited from OpenDDS::DCPS::RcObject
virtual ~RcObject ()
 
long ref_count () const
 
WeakObject_get_weak_object () const
 

Private Attributes

DomainParticipantImplpartipant_
 

Additional Inherited Members

- Public Types inherited from OpenDDS::DCPS::LocalObject< DDS::DataReaderListener >
typedef DDS::DataReaderListener ::_ptr_type _ptr_type
 
typedef DDS::DataReaderListener ::_var_type _var_type
 
- Public Types inherited from CORBA::LocalObject
typedef LocalObject_ptr _ptr_type
 
typedef LocalObject_var _var_type
 
typedef LocalObject_out _out_type
 
- Public Types inherited from CORBA::Object
typedef Object_ptr _ptr_type
 
typedef Object_var _var_type
 
typedef Object_out _out_type
 
- Static Public Member Functions inherited from OpenDDS::DCPS::LocalObject< DDS::DataReaderListener >
static _ptr_type _narrow (CORBA::Object_ptr obj)
 
- Static Public Member Functions inherited from CORBA::LocalObject
static LocalObject_ptr _duplicate (LocalObject_ptr obj)
 
static LocalObject_ptr _nil (void)
 
static LocalObject_ptr _narrow (CORBA::Object_ptr obj)
 
- Static Public Member Functions inherited from CORBA::Object
static CORBA::Boolean marshal (const Object_ptr x, TAO_OutputCDR &cdr)
 
static void _tao_any_destructor (void *)
 
static CORBA::Boolean is_nil_i (CORBA::Object_ptr obj)
 
static void tao_object_initialize (Object *)
 
static CORBA::Object_ptr _duplicate (CORBA::Object_ptr obj)
 
static CORBA::Object_ptr _nil (void)
 
static CORBA::Object_ptr _narrow (CORBA::Object_ptr obj)
 
- Protected Member Functions inherited from CORBA::LocalObject
 LocalObject (void)
 
- Protected Member Functions inherited from CORBA::Object
 Object (int dummy=0)
 
TAO::Object_Proxy_Brokerproxy_broker () const
 
- Protected Member Functions inherited from OpenDDS::DCPS::RcObject
 RcObject ()
 
- Protected Attributes inherited from CORBA::Object
ACE_Atomic_Op< TAO_SYNCH_MUTEX, unsigned long > refcount_
 

Detailed Description

Definition at line 28 of file BitPubListenerImpl.h.

Constructor & Destructor Documentation

◆ BitPubListenerImpl()

OpenDDS::DCPS::BitPubListenerImpl::BitPubListenerImpl ( DomainParticipantImpl partipant)

Definition at line 25 of file BitPubListenerImpl.cpp.

26 : partipant_ (partipant)
27 {
28 }
DomainParticipantImpl * partipant_

◆ ~BitPubListenerImpl()

OpenDDS::DCPS::BitPubListenerImpl::~BitPubListenerImpl ( )
virtual

Definition at line 30 of file BitPubListenerImpl.cpp.

31 {
32 }

Member Function Documentation

◆ on_data_available()

void OpenDDS::DCPS::BitPubListenerImpl::on_data_available ( DDS::DataReader_ptr  reader)
virtual

Definition at line 34 of file BitPubListenerImpl.cpp.

References CORBA::Exception::_tao_print_exception(), ACE_DEBUG, ACE_ERROR, ACE_TEXT(), OpenDDS::DCPS::bit_key_to_guid(), OpenDDS::DCPS::DCPS_debug_level, DDS::SampleInfo::instance_state, CORBA::is_nil(), LM_DEBUG, LM_ERROR, DDS::NOT_ALIVE_DISPOSED_INSTANCE_STATE, DDS::NOT_ALIVE_NO_WRITERS_INSTANCE_STATE, partipant_, DDS::RETCODE_NO_DATA, DDS::RETCODE_OK, OpenDDS::DCPS::DomainParticipantImpl::update_ownership_strength(), and DDS::SampleInfo::valid_data.

35 {
36  try {
37  ::DDS::PublicationBuiltinTopicDataDataReader_var bit_dr =
38  ::DDS::PublicationBuiltinTopicDataDataReader::_narrow(reader);
39 
40  if (CORBA::is_nil(bit_dr.in())) {
41  ACE_ERROR((LM_ERROR,
42  ACE_TEXT("(%P|%t) ERROR: BitPubListenerImpl::on_data_available ")
43  ACE_TEXT("_narrow failed!\n")));
44  return;
45  }
46 
48  DDS::SampleInfo si;
49  DDS::ReturnCode_t status;
50 
51  do {
52  status = bit_dr->take_next_sample(data, si);
53 
54  if (status == DDS::RETCODE_OK) {
55  if (si.valid_data) {
56 #ifndef OPENDDS_NO_OWNERSHIP_KIND_EXCLUSIVE
57  const GUID_t pub_id = bit_key_to_guid(data.key);
58  CORBA::Long const ownership_strength = data.ownership_strength.value;
59  this->partipant_->update_ownership_strength(pub_id, ownership_strength);
60  if (DCPS_debug_level > 4) {
61  ACE_DEBUG((LM_DEBUG,
62  ACE_TEXT("(%P|%t) BitPubListenerImpl::on_data_available: %X ")
63  ACE_TEXT("reset ownership strength %d for writer %C.\n"),
64  this, ownership_strength, LogGuid(pub_id).c_str()));
65  }
66 #endif
67  }
70  ACE_ERROR((LM_ERROR,
71  ACE_TEXT("(%P|%t) ERROR: BitPubListenerImpl::on_data_available:")
72  ACE_TEXT(" unknown instance state: %d\n"),
73  si.instance_state));
74  }
75  } else if (status != DDS::RETCODE_NO_DATA) {
76  ACE_ERROR((LM_ERROR,
77  ACE_TEXT("(%P|%t) ERROR: BitPubListenerImpl::on_data_available:")
78  ACE_TEXT(" unexpected status: %d\n"),
79  status));
80  }
81  } while (status == DDS::RETCODE_OK);
82 
83  } catch (const CORBA::Exception& e) {
84  e._tao_print_exception("Exception caught in BitPubListenerImpl::on_data_available():");
85  }
86 }
#define ACE_DEBUG(X)
ACE_CDR::Long Long
#define ACE_ERROR(X)
void update_ownership_strength(const GUID_t &pub_id, const CORBA::Long &ownership_strength)
const ReturnCode_t RETCODE_OK
const ReturnCode_t RETCODE_NO_DATA
InstanceStateKind instance_state
OpenDDS_Dcps_Export GUID_t bit_key_to_guid(const DDS::BuiltinTopicKey_t &key)
Definition: GuidUtils.h:251
OpenDDS_Dcps_Export unsigned int DCPS_debug_level
Definition: debug.cpp:30
ACE_TEXT("TCP_Factory")
DomainParticipantImpl * partipant_
const InstanceStateKind NOT_ALIVE_DISPOSED_INSTANCE_STATE
void _tao_print_exception(const char *info, FILE *f=stdout) const
Definition: Exception.cpp:82
Boolean is_nil(T x)
const InstanceStateKind NOT_ALIVE_NO_WRITERS_INSTANCE_STATE

◆ on_liveliness_changed()

void OpenDDS::DCPS::BitPubListenerImpl::on_liveliness_changed ( DDS::DataReader_ptr  reader,
const DDS::LivelinessChangedStatus status 
)
virtual

Definition at line 100 of file BitPubListenerImpl.cpp.

103 {
104 }

◆ on_requested_deadline_missed()

void OpenDDS::DCPS::BitPubListenerImpl::on_requested_deadline_missed ( DDS::DataReader_ptr  reader,
const DDS::RequestedDeadlineMissedStatus status 
)
virtual

Definition at line 88 of file BitPubListenerImpl.cpp.

91 {
92 }

◆ on_requested_incompatible_qos()

void OpenDDS::DCPS::BitPubListenerImpl::on_requested_incompatible_qos ( DDS::DataReader_ptr  reader,
const DDS::RequestedIncompatibleQosStatus status 
)
virtual

Definition at line 94 of file BitPubListenerImpl.cpp.

97 {
98 }

◆ on_sample_lost()

void OpenDDS::DCPS::BitPubListenerImpl::on_sample_lost ( DDS::DataReader_ptr  reader,
const DDS::SampleLostStatus status 
)
virtual

Definition at line 118 of file BitPubListenerImpl.cpp.

References OPENDDS_END_VERSIONED_NAMESPACE_DECL.

121 {
122 }

◆ on_sample_rejected()

void OpenDDS::DCPS::BitPubListenerImpl::on_sample_rejected ( DDS::DataReader_ptr  reader,
const DDS::SampleRejectedStatus status 
)
virtual

Definition at line 112 of file BitPubListenerImpl.cpp.

115 {
116 }

◆ on_subscription_matched()

void OpenDDS::DCPS::BitPubListenerImpl::on_subscription_matched ( DDS::DataReader_ptr  reader,
const DDS::SubscriptionMatchedStatus status 
)
virtual

Definition at line 106 of file BitPubListenerImpl.cpp.

109 {
110 }

Member Data Documentation

◆ partipant_

DomainParticipantImpl* OpenDDS::DCPS::BitPubListenerImpl::partipant_
private

Definition at line 63 of file BitPubListenerImpl.h.

Referenced by on_data_available().


The documentation for this class was generated from the following files: