OpenDDS
Snapshot(2023/04/07-19:43)
|
Discovery Strategy class that implements InfoRepo discovery. More...
#include <InfoRepoDiscovery.h>
Classes | |
class | Config |
struct | OrbRunner |
class | StaticInitializer |
Private Member Functions | |
TransportConfig_rch | bit_config () |
void | removeDataReaderRemote (const GUID_t &subscriptionId) |
void | removeDataWriterRemote (const GUID_t &publicationId) |
typedef | OPENDDS_MAP_CMP (GUID_t, DataReaderRemote_var, DCPS::GUID_tKeyLessThan) DataReaderMap |
typedef | OPENDDS_MAP_CMP (GUID_t, DataWriterRemote_var, DCPS::GUID_tKeyLessThan) DataWriterMap |
Private Attributes | |
std::string | ior_ |
DCPSInfo_var | info_ |
std::string | bit_transport_ip_ |
The builtin topic transport address. More... | |
int | bit_transport_port_ |
The builtin topic transport port number. More... | |
bool | use_local_bit_config_ |
TransportConfig_rch | bit_config_ |
CORBA::ORB_var | orb_ |
bool | orb_from_user_ |
DataReaderMap | dataReaderMap_ |
DataWriterMap | dataWriterMap_ |
ACE_Thread_Mutex | lock_ |
Static Private Attributes | |
static OrbRunner * | orb_runner_ |
static ACE_Thread_Mutex | mtx_orb_runner_ |
Additional Inherited Members | |
![]() | |
typedef OPENDDS_STRING | RepoKey |
![]() | |
static const char * | DEFAULT_REPO = "DEFAULT_REPO" |
Key value for the default repository IOR. More... | |
static const char * | DEFAULT_RTPS = "DEFAULT_RTPS" |
static const char * | DEFAULT_STATIC = "DEFAULT_STATIC" |
![]() | |
DDS::ReturnCode_t | create_bit_topics (DomainParticipantImpl *participant) |
![]() | |
RcObject () | |
Discovery Strategy class that implements InfoRepo discovery.
This class implements the Discovery interface for InfoRepo-based discovery.
Definition at line 46 of file InfoRepoDiscovery.h.
OpenDDS::DCPS::InfoRepoDiscovery::InfoRepoDiscovery | ( | const RepoKey & | key, |
const std::string & | ior | ||
) |
Definition at line 137 of file InfoRepoDiscovery.cpp.
OpenDDS::DCPS::InfoRepoDiscovery::InfoRepoDiscovery | ( | const RepoKey & | key, |
const DCPSInfo_var & | info | ||
) |
Definition at line 147 of file InfoRepoDiscovery.cpp.
|
virtual |
Definition at line 157 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_info(), ACE_ERROR, ACE_TEXT(), ACE_String_Base< char >::c_str(), LM_ERROR, orb_from_user_, orb_runner_, OpenDDS::DCPS::InfoRepoDiscovery::OrbRunner::shutdown(), and OpenDDS::DCPS::InfoRepoDiscovery::OrbRunner::use_count_.
|
virtual |
Reimplemented from OpenDDS::DCPS::Discovery.
Definition at line 421 of file InfoRepoDiscovery.cpp.
References get_dcps_info().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 453 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), get_dcps_info(), OpenDDS::DCPS::GUID_UNKNOWN, and CORBA::is_nil().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 471 of file InfoRepoDiscovery.cpp.
References OpenDDS::DCPS::GUID_UNKNOWN.
|
virtual |
add the passed in publication into discovery. Discovery does not participate in memory management for the publication pointer, so it requires that the publication pointer remain valid until remove_publication is called.
Implements OpenDDS::DCPS::Discovery.
Definition at line 599 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), ACE_GUARD_RETURN, ACE_NEW_RETURN, dataWriterMap_, get_dcps_info(), OpenDDS::DCPS::GUID_UNKNOWN, lock_, orb_, and OpenDDS::XTypes::serialize_type_info().
|
virtual |
add the passed in subscription into discovery. Discovery does not participate in memory management for the subscription pointer, so it requires that the subscription pointer remain valid until remove_subscription is called.
Implements OpenDDS::DCPS::Discovery.
Definition at line 695 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), ACE_GUARD_RETURN, ACE_NEW_RETURN, dataReaderMap_, get_dcps_info(), OpenDDS::DCPS::GUID_UNKNOWN, lock_, orb_, and OpenDDS::XTypes::serialize_type_info().
|
virtual |
Definition at line 528 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), get_dcps_info(), and OpenDDS::DCPS::INTERNAL_ERROR.
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 435 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), and get_dcps_info().
|
private |
Definition at line 267 of file InfoRepoDiscovery.cpp.
References ACE_DEBUG, ACE_TEXT(), bit_config_, bit_transport_ip_, bit_transport_port_, OpenDDS::DCPS::TransportRegistry::create_config(), OpenDDS::DCPS::TransportRegistry::create_inst(), OpenDDS::DCPS::DCPS_debug_level, OpenDDS::DCPS::TransportRegistry::DEFAULT_INST_PREFIX, OpenDDS::DCPS::TransportRegistry::instance(), OpenDDS::DCPS::TransportConfig::instances_, OpenDDS::DCPS::RcHandle< T >::is_nil(), OpenDDS::DCPS::Discovery::key(), LM_INFO, lock_, OpenDDS::DCPS::static_rchandle_cast(), TheServiceParticipant, and use_local_bit_config_.
Referenced by init_bit().
|
inline |
Definition at line 64 of file InfoRepoDiscovery.h.
|
inline |
Definition at line 65 of file InfoRepoDiscovery.h.
|
inline |
Definition at line 58 of file InfoRepoDiscovery.h.
|
inline |
Definition at line 59 of file InfoRepoDiscovery.h.
|
virtual |
Definition at line 543 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), get_dcps_info(), and OpenDDS::DCPS::INTERNAL_ERROR.
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 415 of file InfoRepoDiscovery.cpp.
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 447 of file InfoRepoDiscovery.cpp.
References OpenDDS::DCPS::GUID_UNKNOWN.
DCPSInfo_var OpenDDS::DCPS::InfoRepoDiscovery::get_dcps_info | ( | ) |
Definition at line 211 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), ACE_ERROR, ACE_GUARD_RETURN, ACE_TEXT(), ACE_Task_Base::activate(), ACE_ARGV_T< CHAR_TYPE >::argc(), ACE_ARGV_T< CHAR_TYPE >::argv(), OpenDDS::DCPS::DEFAULT_ORB_NAME, info_, ior_, CORBA::is_nil(), OpenDDS::DCPS::Discovery::key(), LM_ERROR, lock_, mtx_orb_runner_, orb_, OpenDDS::DCPS::InfoRepoDiscovery::OrbRunner::orb_, CORBA::ORB_init(), orb_runner_, TheServiceParticipant, and OpenDDS::DCPS::InfoRepoDiscovery::OrbRunner::use_count_.
Referenced by active(), add_domain_participant(), add_publication(), add_subscription(), assert_topic(), attach_participant(), find_topic(), ignore_domain_participant(), ignore_publication(), ignore_subscription(), ignore_topic(), remove_domain_participant(), remove_publication(), remove_subscription(), remove_topic(), update_domain_participant_qos(), update_publication_qos(), update_subscription_params(), update_subscription_qos(), and update_topic_qos().
std::string OpenDDS::DCPS::InfoRepoDiscovery::get_stringified_dcps_info_ior | ( | ) |
Definition at line 260 of file InfoRepoDiscovery.cpp.
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 499 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), and get_dcps_info().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 662 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), and get_dcps_info().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 762 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), and get_dcps_info().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 571 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), and get_dcps_info().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 310 of file InfoRepoDiscovery.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_TEXT(), OpenDDS::DCPS::TransportRegistry::bind_config(), bit_config(), OpenDDS::DCPS::BUILT_IN_PARTICIPANT_TOPIC, OpenDDS::DCPS::BUILT_IN_PUBLICATION_TOPIC, OpenDDS::DCPS::BUILT_IN_SUBSCRIPTION_TOPIC, OpenDDS::DCPS::BUILT_IN_TOPIC_TOPIC, OpenDDS::DCPS::Discovery::create_bit_topics(), OpenDDS::DCPS::DomainParticipantImpl::create_subscriber(), OpenDDS::DCPS::DCPS_debug_level, OpenDDS::DCPS::DEFAULT_STATUS_MASK, DDS::DataReaderQos::durability, OpenDDS::DCPS::DomainParticipantImpl::federated(), OpenDDS::DCPS::TransportRegistry::instance(), OpenDDS::DCPS::Discovery::key(), DDS::DurabilityQosPolicy::kind, DDS::LivelinessQosPolicy::lease_duration, DDS::DataReaderQos::liveliness, LM_ERROR, LM_INFO, OpenDDS::DCPS::DomainParticipantImpl::lookup_topicdescription(), DDS::Duration_t::nanosec, DDS::RETCODE_OK, OpenDDS::DCPS::retcode_to_string(), DDS::Duration_t::sec, SUBSCRIBER_QOS_DEFAULT, TheServiceParticipant, and DDS::TRANSIENT_LOCAL_DURABILITY_QOS.
|
private |
|
private |
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 486 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), and get_dcps_info().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 642 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), ACE_GUARD_RETURN, get_dcps_info(), lock_, and removeDataWriterRemote().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 742 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), ACE_GUARD_RETURN, get_dcps_info(), lock_, and removeDataReaderRemote().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 559 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), get_dcps_info(), and OpenDDS::DCPS::INTERNAL_ERROR.
|
private |
Definition at line 811 of file InfoRepoDiscovery.cpp.
References ACE_ERROR, ACE_TEXT(), dataReaderMap_, OpenDDS::DCPS::DataReaderRemoteImpl::detach_parent(), LM_ERROR, and orb_.
Referenced by remove_subscription().
|
private |
Definition at line 837 of file InfoRepoDiscovery.cpp.
References ACE_ERROR, ACE_TEXT(), dataWriterMap_, OpenDDS::DCPS::DataWriterRemoteImpl::detach_parent(), LM_ERROR, orb_, and OpenDDS::DCPS::REPO_SECTION_NAME.
Referenced by remove_publication().
bool OpenDDS::DCPS::InfoRepoDiscovery::set_ORB | ( | CORBA::ORB_ptr | orb | ) |
User provides an ORB for OpenDDS to use.
Definition at line 178 of file InfoRepoDiscovery.cpp.
References CORBA::ORB::_duplicate(), TAO_Pseudo_Var_T< ORB >::in(), TAO_Pseudo_Var_T< Object >::in(), CORBA::is_nil(), orb_, orb_from_user_, and CORBA::ORB::string_to_object().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 513 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), and get_dcps_info().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 676 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), and get_dcps_info().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 792 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), and get_dcps_info().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 776 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), and get_dcps_info().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 584 of file InfoRepoDiscovery.cpp.
References CORBA::Exception::_tao_print_exception(), and get_dcps_info().
|
private |
Definition at line 238 of file InfoRepoDiscovery.h.
Referenced by bit_config().
|
private |
The builtin topic transport address.
Definition at line 232 of file InfoRepoDiscovery.h.
Referenced by bit_config().
|
private |
The builtin topic transport port number.
Definition at line 235 of file InfoRepoDiscovery.h.
Referenced by bit_config().
|
private |
Definition at line 260 of file InfoRepoDiscovery.h.
Referenced by add_subscription(), and removeDataReaderRemote().
|
private |
Definition at line 264 of file InfoRepoDiscovery.h.
Referenced by add_publication(), and removeDataWriterRemote().
|
private |
Definition at line 229 of file InfoRepoDiscovery.h.
Referenced by get_dcps_info().
|
private |
Definition at line 228 of file InfoRepoDiscovery.h.
Referenced by get_dcps_info(), and get_stringified_dcps_info_ior().
|
mutableprivate |
Definition at line 266 of file InfoRepoDiscovery.h.
Referenced by add_publication(), add_subscription(), bit_config(), get_dcps_info(), get_stringified_dcps_info_ior(), remove_publication(), and remove_subscription().
|
staticprivate |
Definition at line 256 of file InfoRepoDiscovery.h.
Referenced by get_dcps_info(), and OpenDDS::DCPS::InfoRepoDiscovery::OrbRunner::shutdown().
|
private |
Definition at line 240 of file InfoRepoDiscovery.h.
Referenced by add_publication(), add_subscription(), get_dcps_info(), removeDataReaderRemote(), removeDataWriterRemote(), set_ORB(), OpenDDS::DCPS::InfoRepoDiscovery::OrbRunner::shutdown(), and OpenDDS::DCPS::InfoRepoDiscovery::OrbRunner::svc().
|
private |
Definition at line 241 of file InfoRepoDiscovery.h.
Referenced by set_ORB(), and ~InfoRepoDiscovery().
|
staticprivate |
Definition at line 255 of file InfoRepoDiscovery.h.
Referenced by get_dcps_info(), OpenDDS::DCPS::InfoRepoDiscovery::OrbRunner::shutdown(), and ~InfoRepoDiscovery().
|
private |
Definition at line 237 of file InfoRepoDiscovery.h.
Referenced by bit_config().