OpenDDS
Snapshot(2023/04/07-19:43)
|
Implements the OpenDDS::DCPS::Entity interfaces. More...
#include <EntityImpl.h>
Protected Member Functions | |
DDS::ReturnCode_t | set_enabled () |
void | set_deleted (bool state) |
bool | get_deleted () const |
DDS::InstanceHandle_t | get_entity_instance_handle (const GUID_t &id, const RcHandle< DomainParticipantImpl > &participant) |
![]() | |
LocalObject (void) | |
![]() | |
Object (int dummy=0) | |
TAO::Object_Proxy_Broker * | proxy_broker () const |
![]() | |
RcObject () | |
Protected Attributes | |
AtomicBool | enabled_ |
The flag indicates the entity is enabled. More... | |
AtomicBool | entity_deleted_ |
The flag indicates the entity is being deleted. More... | |
![]() | |
ACE_Atomic_Op< TAO_SYNCH_MUTEX, unsigned long > | refcount_ |
Implements the OpenDDS::DCPS::Entity interfaces.
This class is the base class of other servant classes. e.g. DomainParticipantImpl, PublisherImpl ...
Definition at line 37 of file EntityImpl.h.
OpenDDS::DCPS::EntityImpl::EntityImpl | ( | ) |
Definition at line 20 of file EntityImpl.cpp.
|
virtual |
Definition at line 31 of file EntityImpl.cpp.
References instance_handle_, and participant_for_instance_handle_.
|
protected |
Definition at line 89 of file EntityImpl.cpp.
References entity_deleted_.
Referenced by OpenDDS::DCPS::DataWriterImpl::add_association(), OpenDDS::DCPS::DataReaderImpl::add_association(), OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::DCPS::PublisherImpl::delete_contained_entities(), OpenDDS::DCPS::DomainParticipantImpl::delete_contained_entities(), OpenDDS::DCPS::PublisherImpl::delete_datawriter(), OpenDDS::DCPS::PublisherImpl::prepare_to_delete_datawriters(), OpenDDS::DCPS::RecorderImpl::remove_associations(), OpenDDS::DCPS::DataReaderImpl::remove_associations(), and OpenDDS::DCPS::DomainParticipantImpl::update_ownership_strength().
|
inlinevirtual |
Reimplemented in OpenDDS::DCPS::DomainParticipantImpl.
Definition at line 52 of file EntityImpl.h.
References OpenDDS::DOMAIN_UNKNOWN.
Referenced by OpenDDS::DCPS::TransportRegistry::bind_config().
|
protected |
Definition at line 142 of file EntityImpl.cpp.
References ACE_GUARD_RETURN, DDS::HANDLE_NIL, instance_handle_, lock_, OPENDDS_END_VERSIONED_NAMESPACE_DECL, and participant_for_instance_handle_.
Referenced by OpenDDS::DCPS::TopicImpl::get_instance_handle(), OpenDDS::DCPS::RecorderImpl::get_instance_handle(), OpenDDS::DCPS::DomainParticipantImpl::get_instance_handle(), OpenDDS::DCPS::DataWriterImpl::get_instance_handle(), OpenDDS::DCPS::ReplayerImpl::get_instance_handle(), and OpenDDS::DCPS::DataReaderImpl::get_instance_handle().
|
inlinevirtual |
Reimplemented in OpenDDS::DCPS::DomainParticipantImpl, and OpenDDS::DCPS::TopicImpl.
Definition at line 54 of file EntityImpl.h.
References OpenDDS::DCPS::GUID_UNKNOWN.
Referenced by OpenDDS::DCPS::TransportRegistry::bind_config().
|
pure virtual |
Observer_rch OpenDDS::DCPS::EntityImpl::get_observer | ( | Observer::Event | e | ) |
Definition at line 94 of file EntityImpl.cpp.
References ACE_GUARD_RETURN, events_, lock_, observer_, and parent().
Referenced by OpenDDS::DCPS::DataWriterImpl::add_association(), OpenDDS::DCPS::DataReaderImpl::add_association(), OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::DCPS::DataWriterImpl::enable(), OpenDDS::DCPS::DataReaderImpl::enable(), OpenDDS::DCPS::DataWriterImpl::prepare_to_delete(), OpenDDS::DCPS::DataWriterImpl::remove_associations(), OpenDDS::DCPS::DataReaderImpl::remove_associations(), OpenDDS::DCPS::DataWriterImpl::set_qos(), OpenDDS::DCPS::DataReaderImpl::set_qos(), and OpenDDS::DCPS::DataWriterImpl::write().
|
virtual |
Implements DDS::Entity.
Definition at line 61 of file EntityImpl.cpp.
References ACE_GUARD_RETURN, lock_, and status_changes_.
Referenced by OpenDDS::DCPS::StatusConditionImpl::get_trigger_value().
|
virtual |
Implements DDS::Entity.
Definition at line 54 of file EntityImpl.cpp.
References ACE_GUARD_RETURN, lock_, and status_condition_.
bool OpenDDS::DCPS::EntityImpl::is_enabled | ( | ) | const |
Definition at line 48 of file EntityImpl.cpp.
References enabled_.
Referenced by OpenDDS::DCPS::TopicImpl::enable(), OpenDDS::DCPS::RecorderImpl::enable(), OpenDDS::DCPS::SubscriberImpl::enable(), OpenDDS::DCPS::PublisherImpl::enable(), OpenDDS::DCPS::ReplayerImpl::enable(), OpenDDS::DCPS::DataWriterImpl::enable(), OpenDDS::DCPS::DomainParticipantImpl::enable(), OpenDDS::DCPS::DataReaderImpl::enable(), and OpenDDS::DCPS::RecorderImpl::set_qos().
void OpenDDS::DCPS::EntityImpl::notify_status_condition | ( | ) |
Call this after dispatching to listeners when the "changed status flag" is enabled so that any waiting waitsets can be unblocked.
Definition at line 102 of file EntityImpl.cpp.
References ACE_ERROR, ACE_GUARD, ACE_TEXT(), LM_ERROR, lock_, OpenDDS::DCPS::ConditionImpl::signal_all(), and status_condition_.
Referenced by OpenDDS::DCPS::DataWriterImpl::association_complete_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::finish_store_instance_data(), OpenDDS::DCPS::TopicImpl::inconsistent_topic(), OpenDDS::DCPS::WriteDataContainer::process_deadlines(), OpenDDS::DCPS::DataWriterImpl::remove_associations(), OpenDDS::DCPS::DataReaderImpl::remove_associations_i(), OpenDDS::DCPS::DataReaderImpl::transport_assoc_done(), OpenDDS::DCPS::DataWriterImpl::update_incompatible_qos(), and OpenDDS::DCPS::DataReaderImpl::update_incompatible_qos().
|
inlinevirtual |
Reimplemented in OpenDDS::DCPS::DataReaderImpl, OpenDDS::DCPS::DataWriterImpl, OpenDDS::DCPS::SubscriberImpl, and OpenDDS::DCPS::PublisherImpl.
Definition at line 66 of file EntityImpl.h.
References state.
Referenced by get_observer().
|
protected |
Definition at line 83 of file EntityImpl.cpp.
References entity_deleted_, and state.
Referenced by OpenDDS::DCPS::SubscriberImpl::delete_contained_entities(), OpenDDS::DCPS::PublisherImpl::delete_contained_entities(), OpenDDS::DCPS::DomainParticipantImpl::delete_contained_entities(), and OpenDDS::DCPS::DataWriterImpl::prepare_to_delete().
|
protected |
Definition at line 40 of file EntityImpl.cpp.
References enabled_, and DDS::RETCODE_OK.
Referenced by OpenDDS::DCPS::TopicImpl::enable(), OpenDDS::DCPS::RecorderImpl::enable(), OpenDDS::DCPS::SubscriberImpl::enable(), OpenDDS::DCPS::PublisherImpl::enable(), OpenDDS::DCPS::ReplayerImpl::enable(), OpenDDS::DCPS::DataWriterImpl::enable(), OpenDDS::DCPS::DomainParticipantImpl::enable(), and OpenDDS::DCPS::DataReaderImpl::enable().
void OpenDDS::DCPS::EntityImpl::set_observer | ( | Observer_rch | observer, |
Observer::Event | e | ||
) |
void OpenDDS::DCPS::EntityImpl::set_status_changed_flag | ( | DDS::StatusKind | status, |
bool | status_changed_flag | ||
) |
Definition at line 68 of file EntityImpl.cpp.
References ACE_GUARD, lock_, and status_changes_.
Referenced by OpenDDS::DCPS::DataWriterImpl::association_complete_i(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::finish_store_instance_data(), OpenDDS::DCPS::TopicImpl::get_inconsistent_topic_status(), OpenDDS::DCPS::DataReaderImpl::get_liveliness_changed_status(), OpenDDS::DCPS::DataWriterImpl::get_liveliness_lost_status(), OpenDDS::DCPS::DataWriterImpl::get_offered_deadline_missed_status(), OpenDDS::DCPS::DataWriterImpl::get_offered_incompatible_qos_status(), OpenDDS::DCPS::DataWriterImpl::get_publication_matched_status(), OpenDDS::DCPS::DataReaderImpl::get_requested_deadline_missed_status(), OpenDDS::DCPS::DataReaderImpl::get_requested_incompatible_qos_status(), OpenDDS::DCPS::DataReaderImpl::get_sample_lost_status(), OpenDDS::DCPS::DataReaderImpl::get_sample_rejected_status(), OpenDDS::DCPS::DataReaderImpl::get_subscription_matched_status(), OpenDDS::DCPS::TopicImpl::inconsistent_topic(), OpenDDS::DCPS::WriteDataContainer::process_deadlines(), OpenDDS::DCPS::DataWriterImpl::remove_associations(), OpenDDS::DCPS::DataReaderImpl::remove_associations_i(), OpenDDS::DCPS::MultiTopicDataReaderBase::set_status_changed_flag(), OpenDDS::DCPS::DataReaderImpl::transport_assoc_done(), OpenDDS::DCPS::DataWriterImpl::update_incompatible_qos(), and OpenDDS::DCPS::DataReaderImpl::update_incompatible_qos().
|
virtual |
Reimplemented in OpenDDS::DCPS::TopicImpl.
Definition at line 122 of file EntityImpl.cpp.
References ACE_GUARD, lock_, and transport_config_.
Referenced by OpenDDS::DCPS::TransportRegistry::bind_config().
TransportConfig_rch OpenDDS::DCPS::EntityImpl::transport_config | ( | ) | const |
Definition at line 129 of file EntityImpl.cpp.
References ACE_GUARD_RETURN, lock_, and transport_config_.
|
protected |
The flag indicates the entity is enabled.
Definition at line 82 of file EntityImpl.h.
Referenced by OpenDDS::DCPS::SubscriberImpl::begin_access(), OpenDDS::DCPS::PublisherImpl::begin_coherent_changes(), OpenDDS::DCPS::SubscriberImpl::create_datareader(), OpenDDS::DCPS::PublisherImpl::create_datawriter(), OpenDDS::DCPS::DomainParticipantImpl::create_new_topic(), OpenDDS::DCPS::DomainParticipantImpl::create_publisher(), OpenDDS::DCPS::DomainParticipantImpl::create_recorder(), OpenDDS::DCPS::DomainParticipantImpl::create_replayer(), OpenDDS::DCPS::DomainParticipantImpl::create_subscriber(), OpenDDS::DCPS::DomainParticipantImpl::create_topic_i(), OpenDDS::DCPS::DataWriterImpl::dispose(), OpenDDS::DCPS::SubscriberImpl::end_access(), OpenDDS::DCPS::PublisherImpl::end_coherent_changes(), OpenDDS::DCPS::DataReaderImpl::get_matched_publication_data(), OpenDDS::DCPS::DataReaderImpl::get_matched_publications(), OpenDDS::DCPS::DataWriterImpl::get_matched_subscription_data(), OpenDDS::DCPS::DataWriterImpl::get_matched_subscriptions(), OpenDDS::DCPS::DomainParticipantImpl::ignore_participant(), OpenDDS::DCPS::DomainParticipantImpl::ignore_publication(), OpenDDS::DCPS::DomainParticipantImpl::ignore_subscription(), OpenDDS::DCPS::DomainParticipantImpl::ignore_topic(), is_enabled(), OpenDDS::DCPS::DataWriterImpl::register_instance_i(), OpenDDS::DCPS::PublisherImpl::resume_publications(), set_enabled(), OpenDDS::DCPS::TopicImpl::set_qos(), OpenDDS::DCPS::PublisherImpl::set_qos(), OpenDDS::DCPS::SubscriberImpl::set_qos(), OpenDDS::DCPS::ReplayerImpl::set_qos(), OpenDDS::DCPS::RecorderImpl::set_qos(), OpenDDS::DCPS::DataWriterImpl::set_qos(), OpenDDS::DCPS::DomainParticipantImpl::set_qos(), OpenDDS::DCPS::DataReaderImpl::set_qos(), OpenDDS::DCPS::PublisherImpl::suspend_publications(), OpenDDS::DCPS::DataWriterImpl::unregister_instance_i(), OpenDDS::DCPS::PublisherImpl::wait_for_acknowledgments(), and OpenDDS::DCPS::DataWriterImpl::write().
|
protected |
The flag indicates the entity is being deleted.
Definition at line 85 of file EntityImpl.h.
Referenced by get_deleted(), and set_deleted().
|
private |
Definition at line 99 of file EntityImpl.h.
Referenced by get_observer(), and set_observer().
|
private |
Definition at line 103 of file EntityImpl.h.
Referenced by get_entity_instance_handle(), and ~EntityImpl().
|
mutableprivate |
Definition at line 101 of file EntityImpl.h.
Referenced by get_entity_instance_handle(), get_observer(), get_status_changes(), get_statuscondition(), notify_status_condition(), set_observer(), set_status_changed_flag(), and transport_config().
|
private |
Definition at line 98 of file EntityImpl.h.
Referenced by get_observer(), and set_observer().
|
private |
Definition at line 104 of file EntityImpl.h.
Referenced by get_entity_instance_handle(), and ~EntityImpl().
|
private |
The status_changes_ variable lists all status changed flag. The StatusChangedFlag becomes TRUE whenever the plain communication status changes and it is reset to FALSE each time the application accesses the plain communication status via the proper get_<plain communication status> operation on the Entity.
Definition at line 93 of file EntityImpl.h.
Referenced by get_status_changes(), and set_status_changed_flag().
|
private |
Definition at line 94 of file EntityImpl.h.
Referenced by get_statuscondition(), and notify_status_condition().
|
private |
Definition at line 96 of file EntityImpl.h.
Referenced by transport_config().