OpenDDS
Snapshot(2023/04/28-20:55)
|
Discovery Strategy class that implements RTPS discovery. More...
#include <RtpsDiscovery.h>
Classes | |
class | Config |
class | StaticInitializer |
Public Types | |
typedef RtpsDiscoveryConfig::AddrVec | AddrVec |
![]() | |
typedef OPENDDS_STRING | RepoKey |
Private Member Functions | |
ParticipantHandle | get_part (const DDS::DomainId_t domain_id, const GUID_t &part_id) const |
RtpsDiscoveryConfig_rch | get_config () const |
void | create_bit_dr (DDS::TopicDescription_ptr topic, const char *type, DCPS::SubscriberImpl *sub, const DDS::DataReaderQos &qos) |
Private Attributes | |
ACE_Thread_Mutex | participants_lock_ |
DomainParticipantMap | participants_ |
ACE_Thread_Mutex | lock_ |
RtpsDiscoveryConfig_rch | config_ |
GuidGenerator | guid_gen_ |
Guids will be unique within this RTPS configuration. More... | |
Friends | |
class | ::DDS_TEST |
Additional Inherited Members | |
![]() | |
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 RTPS discovery.
This class implements the Discovery interface for Rtps-based discovery.
Definition at line 55 of file RtpsDiscovery.h.
typedef RtpsDiscoveryConfig::AddrVec OpenDDS::RTPS::RtpsDiscovery::AddrVec |
Definition at line 57 of file RtpsDiscovery.h.
|
explicit |
Definition at line 34 of file RtpsDiscovery.cpp.
OpenDDS::RTPS::RtpsDiscovery::~RtpsDiscovery | ( | ) |
Definition at line 40 of file RtpsDiscovery.cpp.
References ACE_TEXT(), and OpenDDS::DCPS::RTPS_SECTION_NAME.
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 842 of file RtpsDiscovery.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD_RETURN, config_, OpenDDS::DCPS::DCPS_debug_level, OpenDDS::DCPS::GUID_t::entityId, OpenDDS::DCPS::ENTITYID_PARTICIPANT, guid_gen_, guid_interface(), OpenDDS::DCPS::GUID_UNKNOWN, OpenDDS::DCPS::AddDomainStatus::id, OpenDDS::RTPS::GuidGenerator::interfaceName(), LM_ERROR, LM_WARNING, lock_, OPENDDS_STRING, participants_, participants_lock_, OpenDDS::RTPS::GuidGenerator::populate(), and OpenDDS::DCPS::ref().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 878 of file RtpsDiscovery.cpp.
References ACE_ERROR, ACE_GUARD_RETURN, OpenDDS::DCPS::GUID_t::entityId, OpenDDS::DCPS::ENTITYID_PARTICIPANT, OpenDDS::DCPS::GUID_UNKNOWN, OpenDDS::DCPS::AddDomainStatus::id, LM_WARNING, participants_, and participants_lock_.
|
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 1322 of file RtpsDiscovery.cpp.
References get_part().
|
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 1368 of file RtpsDiscovery.cpp.
References get_part().
void OpenDDS::RTPS::RtpsDiscovery::append_transport_statistics | ( | DDS::DomainId_t | domain, |
const DCPS::GUID_t & | local_participant, | ||
DCPS::TransportStatisticsSequence & | seq | ||
) |
Definition at line 1102 of file RtpsDiscovery.cpp.
References get_part().
DCPS::TopicStatus OpenDDS::RTPS::RtpsDiscovery::assert_topic | ( | GUID_t & | topicId, |
DDS::DomainId_t | domainId, | ||
const GUID_t & | participantId, | ||
const char * | topicName, | ||
const char * | dataTypeName, | ||
const DDS::TopicQos & | qos, | ||
bool | hasDcpsKey, | ||
DCPS::TopicCallbacks * | topic_callbacks | ||
) |
Definition at line 1259 of file RtpsDiscovery.cpp.
References get_part(), and OpenDDS::DCPS::INTERNAL_ERROR.
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1202 of file RtpsDiscovery.cpp.
|
inline |
Definition at line 149 of file RtpsDiscovery.h.
|
inline |
Definition at line 150 of file RtpsDiscovery.h.
|
inline |
Definition at line 177 of file RtpsDiscovery.h.
References OpenDDS::DCPS::GUID_UNKNOWN.
Referenced by OpenDDS::RTPS::RtpsDiscovery::Config::discovery_config(), OpenDDS::RTPS::Sedp::init(), rtps_relay_only_now(), sedp_rtps_relay_address(), spdp_rtps_relay_address(), use_ice_now(), and use_rtps_relay_now().
|
private |
Definition at line 1449 of file RtpsDiscovery.cpp.
References ACE_ERROR, ACE_TEXT(), OpenDDS::DCPS::DataReaderImpl::disable_transport(), OpenDDS::DCPS::DataReaderImpl::enable(), OpenDDS::DCPS::SubscriberImpl::get_participant(), OpenDDS::DCPS::DataReaderImpl::init(), LM_ERROR, and Registered_Data_Types.
Referenced by init_bit().
|
inline |
Definition at line 113 of file RtpsDiscovery.h.
Referenced by OpenDDS::RTPS::RtpsDiscovery::Config::discovery_config().
|
inline |
Definition at line 114 of file RtpsDiscovery.h.
|
inline |
Definition at line 116 of file RtpsDiscovery.h.
Referenced by OpenDDS::RTPS::RtpsDiscovery::Config::discovery_config().
|
inline |
Definition at line 117 of file RtpsDiscovery.h.
|
inline |
|
inline |
Definition at line 138 of file RtpsDiscovery.h.
|
inline |
Definition at line 107 of file RtpsDiscovery.h.
Referenced by OpenDDS::RTPS::RtpsDiscovery::Config::discovery_config(), and OpenDDS::RTPS::Sedp::init().
|
inline |
Definition at line 108 of file RtpsDiscovery.h.
|
inline |
Definition at line 119 of file RtpsDiscovery.h.
Referenced by OpenDDS::RTPS::RtpsDiscovery::Config::discovery_config(), and OpenDDS::RTPS::Sedp::init().
|
inline |
Definition at line 120 of file RtpsDiscovery.h.
DCPS::TopicStatus OpenDDS::RTPS::RtpsDiscovery::find_topic | ( | DDS::DomainId_t | domainId, |
const GUID_t & | participantId, | ||
const char * | topicName, | ||
CORBA::String_out | dataTypeName, | ||
DDS::TopicQos_out | qos, | ||
GUID_t & | topicId | ||
) |
Definition at line 1278 of file RtpsDiscovery.cpp.
References get_part(), and OpenDDS::DCPS::INTERNAL_ERROR.
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1197 of file RtpsDiscovery.cpp.
References OpenDDS::DCPS::DomainParticipantImpl::get_domain_id(), OpenDDS::DCPS::DomainParticipantImpl::get_id(), and get_part().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 822 of file RtpsDiscovery.cpp.
References ACE_DEBUG, ACE_GUARD_RETURN, config_, OpenDDS::DCPS::DCPS_debug_level, OpenDDS::DCPS::ENTITYID_PARTICIPANT, guid_gen_, guid_interface(), OpenDDS::DCPS::GUID_UNKNOWN, OpenDDS::RTPS::GuidGenerator::interfaceName(), LM_WARNING, lock_, OPENDDS_STRING, and OpenDDS::RTPS::GuidGenerator::populate().
|
private |
Definition at line 1443 of file RtpsDiscovery.cpp.
References config_, and lock_.
Referenced by rtps_relay_only_now(), sedp_rtps_relay_address(), sedp_stun_server_address(), spdp_rtps_relay_address(), spdp_stun_server_address(), use_ice_now(), and use_rtps_relay_now().
DDS::Security::ParticipantCryptoHandle OpenDDS::RTPS::RtpsDiscovery::get_crypto_handle | ( | DDS::DomainId_t | domain, |
const DCPS::GUID_t & | local_participant, | ||
const DCPS::GUID_t & | remote_participant = GUID_UNKNOWN |
||
) | const |
Definition at line 968 of file RtpsDiscovery.cpp.
References get_part(), OpenDDS::DCPS::GUID_UNKNOWN, and DDS::HANDLE_NIL.
|
private |
Definition at line 1429 of file RtpsDiscovery.cpp.
References participants_, and participants_lock_.
Referenced by add_publication(), add_subscription(), append_transport_statistics(), assert_topic(), find_topic(), fini_bit(), get_crypto_handle(), get_sedp_port(), get_spdp_port(), has_domain_participant(), ignore_domain_participant(), ignore_publication(), ignore_subscription(), ignore_topic(), init_bit(), remove_domain_participant(), remove_publication(), remove_subscription(), remove_topic(), request_remote_complete_type_objects(), sedp_transport_inst(), signal_liveliness(), update_domain_participant_qos(), update_publication_locators(), update_publication_qos(), update_subscription_locators(), update_subscription_params(), update_subscription_qos(), and update_topic_qos().
u_short OpenDDS::RTPS::RtpsDiscovery::get_sedp_port | ( | DDS::DomainId_t | domain, |
const DCPS::GUID_t & | local_participant | ||
) | const |
Definition at line 1004 of file RtpsDiscovery.cpp.
References get_part().
u_short OpenDDS::RTPS::RtpsDiscovery::get_spdp_port | ( | DDS::DomainId_t | domain, |
const DCPS::GUID_t & | local_participant | ||
) | const |
Definition at line 992 of file RtpsDiscovery.cpp.
References get_part().
|
inline |
Definition at line 143 of file RtpsDiscovery.h.
Referenced by add_domain_participant(), and generate_participant_guid().
|
inline |
Definition at line 144 of file RtpsDiscovery.h.
bool OpenDDS::RTPS::RtpsDiscovery::has_domain_participant | ( | DDS::DomainId_t | domain, |
const GUID_t & | local, | ||
const GUID_t & | remote | ||
) | const |
Definition at line 1254 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1234 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1343 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1393 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1305 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1112 of file RtpsDiscovery.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_TEXT(), OpenDDS::DCPS::BUILT_IN_CONNECTION_RECORD_TOPIC, OpenDDS::DCPS::BUILT_IN_CONNECTION_RECORD_TOPIC_TYPE, OpenDDS::DCPS::BUILT_IN_INTERNAL_THREAD_TOPIC, OpenDDS::DCPS::BUILT_IN_INTERNAL_THREAD_TOPIC_TYPE, OpenDDS::DCPS::BUILT_IN_PARTICIPANT_LOCATION_TOPIC, OpenDDS::DCPS::BUILT_IN_PARTICIPANT_LOCATION_TOPIC_TYPE, OpenDDS::DCPS::BUILT_IN_PARTICIPANT_TOPIC, OpenDDS::DCPS::BUILT_IN_PARTICIPANT_TOPIC_TYPE, OpenDDS::DCPS::BUILT_IN_PUBLICATION_TOPIC, OpenDDS::DCPS::BUILT_IN_PUBLICATION_TOPIC_TYPE, OpenDDS::DCPS::BUILT_IN_SUBSCRIPTION_TOPIC, OpenDDS::DCPS::BUILT_IN_SUBSCRIPTION_TOPIC_TYPE, OpenDDS::DCPS::BUILT_IN_TOPIC_TOPIC, OpenDDS::DCPS::BUILT_IN_TOPIC_TOPIC_TYPE, create_bit_dr(), OpenDDS::DCPS::Discovery::create_bit_topics(), OpenDDS::DCPS::DomainParticipantImpl::create_subscriber(), OpenDDS::DCPS::DCPS_debug_level, OpenDDS::DCPS::DEFAULT_STATUS_MASK, OpenDDS::DCPS::SubscriberImpl::get_default_datareader_qos(), OpenDDS::DCPS::DomainParticipantImpl::get_domain_id(), OpenDDS::DCPS::DomainParticipantImpl::get_id(), get_part(), OpenDDS::DCPS::RcHandle< T >::in(), LM_ERROR, LM_INFO, OpenDDS::DCPS::DomainParticipantImpl::lookup_topicdescription(), DDS::RETCODE_OK, SUBSCRIBER_QOS_DEFAULT, TheServiceParticipant, and DDS::TRANSIENT_LOCAL_DURABILITY_QOS.
|
inline |
Definition at line 98 of file RtpsDiscovery.h.
|
inline |
Definition at line 99 of file RtpsDiscovery.h.
|
inline |
Definition at line 101 of file RtpsDiscovery.h.
|
inline |
Definition at line 102 of file RtpsDiscovery.h.
|
inline |
Definition at line 146 of file RtpsDiscovery.h.
|
inline |
Definition at line 147 of file RtpsDiscovery.h.
|
inline |
Definition at line 152 of file RtpsDiscovery.h.
|
inline |
Definition at line 153 of file RtpsDiscovery.h.
|
inline |
|
inline |
Definition at line 135 of file RtpsDiscovery.h.
|
inline |
Definition at line 104 of file RtpsDiscovery.h.
Referenced by OpenDDS::RTPS::RtpsDiscovery::Config::discovery_config(), and OpenDDS::RTPS::Sedp::init().
|
inline |
Definition at line 105 of file RtpsDiscovery.h.
|
inline |
Definition at line 110 of file RtpsDiscovery.h.
Referenced by OpenDDS::RTPS::RtpsDiscovery::Config::discovery_config().
|
inline |
Definition at line 111 of file RtpsDiscovery.h.
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1208 of file RtpsDiscovery.cpp.
References ACE_GUARD_RETURN, participants_, and participants_lock_.
bool OpenDDS::RTPS::RtpsDiscovery::remove_domain_participant | ( | DDS::DomainId_t | domain, |
const GUID_t & | myParticipantId, | ||
const GUID_t & | removeId | ||
) |
Definition at line 1241 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1336 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1386 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1293 of file RtpsDiscovery.cpp.
References get_part(), and OpenDDS::DCPS::INTERNAL_ERROR.
|
virtual |
Reimplemented from OpenDDS::DCPS::Discovery.
Definition at line 1485 of file RtpsDiscovery.cpp.
References get_part(), and OPENDDS_END_VERSIONED_NAMESPACE_DECL.
|
inline |
Definition at line 95 of file RtpsDiscovery.h.
|
inline |
Definition at line 96 of file RtpsDiscovery.h.
|
inline |
Definition at line 155 of file RtpsDiscovery.h.
void OpenDDS::RTPS::RtpsDiscovery::rtps_relay_only_now | ( | bool | f | ) |
Definition at line 913 of file RtpsDiscovery.cpp.
References ACE_GUARD, config(), get_config(), participants_, and participants_lock_.
|
inline |
Definition at line 164 of file RtpsDiscovery.h.
|
inline |
Definition at line 168 of file RtpsDiscovery.h.
|
inline |
Definition at line 125 of file RtpsDiscovery.h.
|
inline |
Definition at line 126 of file RtpsDiscovery.h.
|
inline |
|
inline |
Definition at line 132 of file RtpsDiscovery.h.
void OpenDDS::RTPS::RtpsDiscovery::sedp_rtps_relay_address | ( | const ACE_INET_Addr & | address | ) |
Definition at line 1067 of file RtpsDiscovery.cpp.
References ACE_GUARD, config(), get_config(), participants_, and participants_lock_.
void OpenDDS::RTPS::RtpsDiscovery::sedp_stun_server_address | ( | const ACE_INET_Addr & | address | ) |
Definition at line 1088 of file RtpsDiscovery.cpp.
References ACE_GUARD, get_config(), participants_, and participants_lock_.
RcHandle< DCPS::TransportInst > OpenDDS::RTPS::RtpsDiscovery::sedp_transport_inst | ( | DDS::DomainId_t | domainId, |
const GUID_t & | partId | ||
) | const |
Definition at line 1423 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Reimplemented from OpenDDS::DCPS::Discovery.
Definition at line 905 of file RtpsDiscovery.cpp.
References get_part().
|
inline |
Definition at line 128 of file RtpsDiscovery.h.
|
inline |
Definition at line 129 of file RtpsDiscovery.h.
void OpenDDS::RTPS::RtpsDiscovery::spdp_rtps_relay_address | ( | const ACE_INET_Addr & | address | ) |
Definition at line 1043 of file RtpsDiscovery.cpp.
References ACE_GUARD, config(), get_config(), participants_, and participants_lock_.
|
inline |
Definition at line 140 of file RtpsDiscovery.h.
Referenced by OpenDDS::RTPS::RtpsDiscovery::Config::discovery_config().
|
inline |
Definition at line 141 of file RtpsDiscovery.h.
void OpenDDS::RTPS::RtpsDiscovery::spdp_stun_server_address | ( | const ACE_INET_Addr & | address | ) |
Definition at line 1082 of file RtpsDiscovery.cpp.
References get_config().
|
inlinevirtual |
Reimplemented from OpenDDS::DCPS::Discovery.
Definition at line 87 of file RtpsDiscovery.h.
|
inline |
|
inline |
Definition at line 123 of file RtpsDiscovery.h.
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1248 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Reimplemented from OpenDDS::DCPS::Discovery.
Definition at line 1361 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1350 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Reimplemented from OpenDDS::DCPS::Discovery.
Definition at line 1416 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1410 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1400 of file RtpsDiscovery.cpp.
References get_part().
|
virtual |
Implements OpenDDS::DCPS::Discovery.
Definition at line 1312 of file RtpsDiscovery.cpp.
References get_part().
|
inline |
Definition at line 161 of file RtpsDiscovery.h.
void OpenDDS::RTPS::RtpsDiscovery::use_ice_now | ( | bool | f | ) |
Definition at line 949 of file RtpsDiscovery.cpp.
References ACE_GUARD, config(), get_config(), participants_, and participants_lock_.
|
inline |
Definition at line 158 of file RtpsDiscovery.h.
void OpenDDS::RTPS::RtpsDiscovery::use_rtps_relay_now | ( | bool | f | ) |
Definition at line 931 of file RtpsDiscovery.cpp.
References ACE_GUARD, config(), get_config(), participants_, and participants_lock_.
|
inline |
|
inline |
Definition at line 174 of file RtpsDiscovery.h.
|
inline |
|
friend |
Definition at line 362 of file RtpsDiscovery.h.
|
private |
Definition at line 339 of file RtpsDiscovery.h.
Referenced by add_domain_participant(), generate_participant_guid(), and get_config().
|
private |
Guids will be unique within this RTPS configuration.
Definition at line 344 of file RtpsDiscovery.h.
Referenced by add_domain_participant(), and generate_participant_guid().
|
mutableprivate |
Definition at line 337 of file RtpsDiscovery.h.
Referenced by add_domain_participant(), generate_participant_guid(), and get_config().
|
private |
Definition at line 332 of file RtpsDiscovery.h.
Referenced by add_domain_participant(), add_domain_participant_secure(), get_part(), remove_domain_participant(), rtps_relay_only_now(), sedp_rtps_relay_address(), sedp_stun_server_address(), spdp_rtps_relay_address(), use_ice_now(), and use_rtps_relay_now().
|
mutableprivate |
Definition at line 330 of file RtpsDiscovery.h.
Referenced by add_domain_participant(), add_domain_participant_secure(), get_part(), remove_domain_participant(), rtps_relay_only_now(), sedp_rtps_relay_address(), sedp_stun_server_address(), spdp_rtps_relay_address(), use_ice_now(), and use_rtps_relay_now().