#include <Sedp.h>
Definition at line 60 of file Sedp.h.
typedef LocalParticipantMessageMap::const_iterator OpenDDS::RTPS::Sedp::LocalParticipantMessageCIter [private] |
typedef LocalParticipantMessageMap::iterator OpenDDS::RTPS::Sedp::LocalParticipantMessageIter [private] |
typedef std::pair<DCPS::MessageId, DCPS::DiscoveredReaderData> OpenDDS::RTPS::Sedp::MsgIdRdrDataPair [private] |
typedef std::pair<DCPS::MessageId, DCPS::DiscoveredWriterData> OpenDDS::RTPS::Sedp::MsgIdWtrDataPair [private] |
typedef DCPS::RcHandle<Reader> OpenDDS::RTPS::Sedp::Reader_rch [private] |
OpenDDS::RTPS::Sedp::Sedp | ( | const DCPS::RepoId & | participant_id, | |
Spdp & | owner, | |||
ACE_Thread_Mutex & | lock | |||
) |
void OpenDDS::RTPS::Sedp::acknowledge | ( | ) |
request for acknowledgement from all Sedp threads (Task)
Definition at line 3485 of file Sedp.cpp.
References OpenDDS::RTPS::Sedp::Task::acknowledge(), and task_.
Referenced by OpenDDS::RTPS::Spdp::fini_bit().
03486 { 03487 task_.acknowledge(); 03488 }
void OpenDDS::RTPS::Sedp::assign_bit_key | ( | DiscoveredSubscription & | sub | ) | [private] |
Definition at line 683 of file Sedp.cpp.
References OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::increment_key(), OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::sub_bit_key_, and OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::sub_key_to_id_.
00684 { 00685 increment_key(sub_bit_key_); 00686 sub_key_to_id_[sub_bit_key_] = sub.reader_data_.readerProxy.remoteReaderGuid; 00687 sub.reader_data_.ddsSubscriptionData.key = sub_bit_key_; 00688 }
void OpenDDS::RTPS::Sedp::assign_bit_key | ( | DiscoveredPublication & | pub | ) | [private] |
Definition at line 675 of file Sedp.cpp.
References OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::increment_key(), OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::pub_bit_key_, and OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::pub_key_to_id_.
00676 { 00677 increment_key(pub_bit_key_); 00678 pub_key_to_id_[pub_bit_key_] = pub.writer_data_.writerProxy.remoteWriterGuid; 00679 pub.writer_data_.ddsPublicationData.key = pub_bit_key_; 00680 }
void OpenDDS::RTPS::Sedp::associate | ( | const Security::SPDPdiscoveredParticipantData & | pdata | ) |
Definition at line 755 of file Sedp.cpp.
References OpenDDS::RTPS::ParticipantProxy_t::availableBuiltinEndpoints, OpenDDS::RTPS::BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_DATA_WRITER, OpenDDS::RTPS::create_association_data_proto(), OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_PUBLICATION_ANNOUNCER, OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_SUBSCRIPTION_ANNOUNCER, OpenDDS::RTPS::Sedp::Task::enqueue(), OpenDDS::DCPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_WRITER, OpenDDS::DCPS::ENTITYID_SEDP_BUILTIN_PUBLICATIONS_WRITER, OpenDDS::DCPS::ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_WRITER, OpenDDS::DCPS::move(), participant_message_reader_, OpenDDS::Security::SPDPdiscoveredParticipantData::participantProxy, publications_reader_, OpenDDS::DCPS::AssociationData::remote_id_, OpenDDS::DCPS::SAMPLE_DATA, subscriptions_reader_, and task_.
Referenced by OpenDDS::RTPS::Spdp::match_unauthenticated().
00756 { 00757 // First create a 'prototypical' instance of AssociationData. It will 00758 // be copied and modified for each of the (up to) four SEDP Endpoints. 00759 DCPS::AssociationData proto; 00760 create_association_data_proto(proto, pdata); 00761 00762 const BuiltinEndpointSet_t& avail = 00763 pdata.participantProxy.availableBuiltinEndpoints; 00764 00765 // See RTPS v2.1 section 8.5.5.1 00766 if (avail & DISC_BUILTIN_ENDPOINT_PUBLICATION_ANNOUNCER) { 00767 DCPS::AssociationData peer = proto; 00768 peer.remote_id_.entityId = ENTITYID_SEDP_BUILTIN_PUBLICATIONS_WRITER; 00769 publications_reader_->assoc(peer); 00770 } 00771 if (avail & DISC_BUILTIN_ENDPOINT_SUBSCRIPTION_ANNOUNCER) { 00772 DCPS::AssociationData peer = proto; 00773 peer.remote_id_.entityId = ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_WRITER; 00774 subscriptions_reader_->assoc(peer); 00775 } 00776 if (avail & BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_DATA_WRITER) { 00777 DCPS::AssociationData peer = proto; 00778 peer.remote_id_.entityId = ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_WRITER; 00779 participant_message_reader_->assoc(peer); 00780 } 00781 00782 DCPS::unique_ptr<Security::SPDPdiscoveredParticipantData> dpd( 00783 new Security::SPDPdiscoveredParticipantData(pdata)); 00784 00785 task_.enqueue(DCPS::SAMPLE_DATA, move(dpd)); 00786 }
void OpenDDS::RTPS::Sedp::association_complete | ( | const DCPS::RepoId & | localId, | |
const DCPS::RepoId & | remoteId | |||
) | [virtual] |
void OpenDDS::RTPS::Sedp::data_received | ( | DCPS::MessageId | message_id, | |
const ParticipantMessageData & | data | |||
) | [private] |
Definition at line 2159 of file Sedp.cpp.
References OpenDDS::DCPS::GUID_t::entityId, OpenDDS::DCPS::ENTITYID_PARTICIPANT, OpenDDS::RTPS::Spdp::has_discovered_participant(), OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::ignoring(), OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::local_subscriptions_, OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::lock_, OpenDDS::RTPS::ParticipantMessageData::participantGuid, OpenDDS::RTPS::Spdp::shutting_down(), and spdp_.
02161 { 02162 if (spdp_.shutting_down()) { return; } 02163 02164 const RepoId& guid = data.participantGuid; 02165 RepoId guid_participant = guid; 02166 guid_participant.entityId = ENTITYID_PARTICIPANT; 02167 RepoId prefix = data.participantGuid; 02168 prefix.entityId = EntityId_t(); // Clear the entityId so lower bound will work. 02169 02170 ACE_GUARD(ACE_Thread_Mutex, g, lock_); 02171 02172 if (ignoring(guid) 02173 || ignoring(guid_participant)) { 02174 return; 02175 } 02176 02177 if (!spdp_.has_discovered_participant(guid_participant)) { 02178 return; 02179 } 02180 02181 for (LocalSubscriptionMap::const_iterator sub_pos = local_subscriptions_.begin(), 02182 sub_limit = local_subscriptions_.end(); 02183 sub_pos != sub_limit; ++sub_pos) { 02184 const DCPS::RepoIdSet::const_iterator pos = 02185 sub_pos->second.matched_endpoints_.lower_bound(prefix); 02186 if (pos != sub_pos->second.matched_endpoints_.end() && 02187 DCPS::GuidPrefixEqual()(pos->guidPrefix, prefix.guidPrefix)) { 02188 sub_pos->second.subscription_->signal_liveliness(guid_participant); 02189 } 02190 } 02191 }
void OpenDDS::RTPS::Sedp::data_received | ( | DCPS::MessageId | message_id, | |
const DCPS::DiscoveredReaderData & | rdata | |||
) | [private] |
Definition at line 2089 of file Sedp.cpp.
References OpenDDS::DCPS::DiscoveredReaderData::ddsSubscriptionData, deferred_subscriptions_, OpenDDS::DCPS::ENTITYID_PARTICIPANT, OpenDDS::RTPS::Spdp::has_discovered_participant(), OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::ignoring(), OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::lock_, process_discovered_reader_data(), OpenDDS::DCPS::DiscoveredReaderData::readerProxy, OpenDDS::RTPS::Spdp::shutting_down(), spdp_, and DDS::SubscriptionBuiltinTopicData::topic_name.
02091 { 02092 if (spdp_.shutting_down()) { return; } 02093 02094 const RepoId& guid = rdata.readerProxy.remoteReaderGuid; 02095 RepoId guid_participant = guid; 02096 guid_participant.entityId = ENTITYID_PARTICIPANT; 02097 02098 ACE_GUARD(ACE_Thread_Mutex, g, lock_); 02099 02100 if (ignoring(guid) 02101 || ignoring(guid_participant) 02102 || ignoring(rdata.ddsSubscriptionData.topic_name)) { 02103 return; 02104 } 02105 02106 #if defined(OPENDDS_SECURITY) 02107 if (should_drop_message(rdata.ddsSubscriptionData.topic_name)) { 02108 return; 02109 } 02110 #endif 02111 02112 if (!spdp_.has_discovered_participant(guid_participant)) { 02113 deferred_subscriptions_[guid] = std::make_pair(message_id, rdata); 02114 return; 02115 } 02116 02117 process_discovered_reader_data(message_id, rdata, guid); 02118 }
void OpenDDS::RTPS::Sedp::data_received | ( | DCPS::MessageId | message_id, | |
const DCPS::DiscoveredWriterData & | wdata | |||
) | [private] |
Definition at line 1754 of file Sedp.cpp.
References OpenDDS::DCPS::DiscoveredWriterData::ddsPublicationData, deferred_publications_, OpenDDS::DCPS::ENTITYID_PARTICIPANT, OpenDDS::RTPS::Spdp::has_discovered_participant(), OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::ignoring(), OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::lock_, process_discovered_writer_data(), OpenDDS::RTPS::Spdp::shutting_down(), spdp_, DDS::PublicationBuiltinTopicData::topic_name, and OpenDDS::DCPS::DiscoveredWriterData::writerProxy.
Referenced by OpenDDS::RTPS::Sedp::Task::svc_i().
01756 { 01757 if (spdp_.shutting_down()) { return; } 01758 01759 const RepoId& guid = wdata.writerProxy.remoteWriterGuid; 01760 RepoId guid_participant = guid; 01761 guid_participant.entityId = ENTITYID_PARTICIPANT; 01762 01763 ACE_GUARD(ACE_Thread_Mutex, g, lock_); 01764 01765 if (ignoring(guid) 01766 || ignoring(guid_participant) 01767 || ignoring(wdata.ddsPublicationData.topic_name)) { 01768 return; 01769 } 01770 01771 #if defined(OPENDDS_SECURITY) 01772 if (should_drop_message(wdata.ddsPublicationData.topic_name)) { 01773 return; 01774 } 01775 #endif 01776 01777 if (!spdp_.has_discovered_participant(guid_participant)) { 01778 deferred_publications_[guid] = std::make_pair(message_id, wdata); 01779 return; 01780 } 01781 01782 process_discovered_writer_data(message_id, wdata, guid); 01783 }
virtual bool OpenDDS::RTPS::Sedp::defer_reader | ( | const DCPS::RepoId & | reader, | |
const DCPS::RepoId & | reader_participant | |||
) | [private, virtual] |
virtual bool OpenDDS::RTPS::Sedp::defer_writer | ( | const DCPS::RepoId & | writer, | |
const DCPS::RepoId & | writer_participant | |||
) | [private, virtual] |
bool OpenDDS::RTPS::Sedp::disassociate | ( | const Security::SPDPdiscoveredParticipantData & | pdata | ) | [virtual] |
Implements OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >.
Definition at line 1137 of file Sedp.cpp.
References associated_participants_, OpenDDS::RTPS::ParticipantProxy_t::availableBuiltinEndpoints, OpenDDS::RTPS::BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_DATA_READER, OpenDDS::RTPS::BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_DATA_WRITER, DDS::Security::BUILTIN_PARTICIPANT_STATELESS_MESSAGE_READER, DDS::Security::BUILTIN_PARTICIPANT_STATELESS_MESSAGE_WRITER, OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_PUBLICATION_ANNOUNCER, OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_PUBLICATION_DETECTOR, OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_SUBSCRIPTION_ANNOUNCER, OpenDDS::RTPS::DISC_BUILTIN_ENDPOINT_SUBSCRIPTION_DETECTOR, OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::discovered_publications_, OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::discovered_subscriptions_, OpenDDS::DCPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_READER, OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_READER, OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_WRITER, OpenDDS::DCPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_WRITER, OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_READER, OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_WRITER, OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_READER, OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_WRITER, OpenDDS::DCPS::ENTITYID_PARTICIPANT, OpenDDS::DCPS::ENTITYID_SEDP_BUILTIN_PUBLICATIONS_READER, OpenDDS::RTPS::ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_READER, OpenDDS::RTPS::ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_WRITER, OpenDDS::DCPS::ENTITYID_SEDP_BUILTIN_PUBLICATIONS_WRITER, OpenDDS::DCPS::ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_READER, OpenDDS::RTPS::ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_READER, OpenDDS::RTPS::ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_WRITER, OpenDDS::DCPS::ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_WRITER, OpenDDS::RTPS::ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_READER, OpenDDS::RTPS::ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_WRITER, OpenDDS::RTPS::ParticipantProxy_t::guidPrefix, OpenDDS::RTPS::Spdp::has_discovered_participant(), OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::lock_, participant_message_reader_, participant_message_writer_, OpenDDS::Security::SPDPdiscoveredParticipantData::participantProxy, publications_reader_, publications_writer_, remove_entities_belonging_to(), spdp_, subscriptions_reader_, and subscriptions_writer_.
01138 { 01139 RepoId part; 01140 std::memcpy(part.guidPrefix, pdata.participantProxy.guidPrefix, 01141 sizeof(GuidPrefix_t)); 01142 part.entityId = ENTITYID_PARTICIPANT; 01143 associated_participants_.erase(part); 01144 const BuiltinEndpointSet_t avail = 01145 pdata.participantProxy.availableBuiltinEndpoints; 01146 01147 { // Release lock, so we can call into transport 01148 ACE_Reverse_Lock<ACE_Thread_Mutex> rev_lock(lock_); 01149 ACE_GUARD_RETURN(ACE_Reverse_Lock< ACE_Thread_Mutex>, rg, rev_lock, false); 01150 01151 disassociate_helper(avail, DISC_BUILTIN_ENDPOINT_PUBLICATION_DETECTOR, part, 01152 ENTITYID_SEDP_BUILTIN_PUBLICATIONS_READER, publications_writer_); 01153 disassociate_helper(avail, DISC_BUILTIN_ENDPOINT_PUBLICATION_ANNOUNCER, part, 01154 ENTITYID_SEDP_BUILTIN_PUBLICATIONS_WRITER, *publications_reader_); 01155 01156 disassociate_helper(avail, DISC_BUILTIN_ENDPOINT_SUBSCRIPTION_DETECTOR, part, 01157 ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_READER, subscriptions_writer_); 01158 disassociate_helper(avail, DISC_BUILTIN_ENDPOINT_SUBSCRIPTION_ANNOUNCER, part, 01159 ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_WRITER, *subscriptions_reader_); 01160 01161 disassociate_helper(avail, BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_DATA_READER, part, 01162 ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_READER, participant_message_writer_); 01163 disassociate_helper(avail, BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_DATA_WRITER, part, 01164 ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_WRITER, *participant_message_reader_); 01165 01166 //FUTURE: if/when topic propagation is supported, add it here 01167 01168 #if defined(OPENDDS_SECURITY) 01169 using namespace DDS::Security; 01170 01171 disassociate_helper(avail, SEDP_BUILTIN_PUBLICATIONS_SECURE_READER, part, 01172 ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_READER, publications_secure_writer_); 01173 disassociate_helper(avail, SEDP_BUILTIN_PUBLICATIONS_SECURE_WRITER, part, 01174 ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_WRITER, *publications_secure_reader_); 01175 01176 disassociate_helper(avail, SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_READER, part, 01177 ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_READER, subscriptions_secure_writer_); 01178 disassociate_helper(avail, SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_WRITER, part, 01179 ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_WRITER, *subscriptions_secure_reader_); 01180 01181 disassociate_helper(avail, BUILTIN_PARTICIPANT_MESSAGE_SECURE_READER, part, 01182 ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_READER, participant_message_secure_writer_); 01183 disassociate_helper(avail, BUILTIN_PARTICIPANT_MESSAGE_SECURE_WRITER, part, 01184 ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_WRITER, *participant_message_secure_reader_); 01185 01186 disassociate_helper(avail, BUILTIN_PARTICIPANT_STATELESS_MESSAGE_READER, part, 01187 ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_READER, participant_stateless_message_writer_); 01188 disassociate_helper(avail, BUILTIN_PARTICIPANT_STATELESS_MESSAGE_WRITER, part, 01189 ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_WRITER, *participant_stateless_message_reader_); 01190 01191 disassociate_helper(avail, BUILTIN_PARTICIPANT_VOLATILE_MESSAGE_SECURE_READER, part, 01192 ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_READER, participant_volatile_message_secure_writer_); 01193 disassociate_helper(avail, BUILTIN_PARTICIPANT_VOLATILE_MESSAGE_SECURE_WRITER, part, 01194 ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_WRITER, *participant_volatile_message_secure_reader_); 01195 01196 disassociate_helper(avail, SPDP_BUILTIN_PARTICIPANT_SECURE_READER, part, 01197 ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_READER, dcps_participant_secure_writer_); 01198 disassociate_helper(avail, SPDP_BUILTIN_PARTICIPANT_SECURE_WRITER, part, 01199 ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_WRITER, *dcps_participant_secure_reader_); 01200 #endif 01201 01202 } 01203 01204 if (spdp_.has_discovered_participant(part)) { 01205 remove_entities_belonging_to(discovered_publications_, part); 01206 remove_entities_belonging_to(discovered_subscriptions_, part); 01207 return true; 01208 } else { 01209 return false; 01210 } 01211 }
void OpenDDS::RTPS::Sedp::inconsistent_topic | ( | const DCPS::RepoIdSet & | endpoints | ) | const [private] |
Definition at line 1376 of file Sedp.cpp.
References OpenDDS::DCPS::GUID_t::guidPrefix, OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::local_publications_, OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::local_subscriptions_, and OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::participant_id_.
01377 { 01378 using DCPS::RepoIdSet; 01379 for (RepoIdSet::const_iterator iter(eps.begin()); iter != eps.end(); ++iter) { 01380 if (0 == std::memcmp(participant_id_.guidPrefix, iter->guidPrefix, 01381 sizeof(GuidPrefix_t))) { 01382 const bool reader = iter->entityId.entityKind & 4; 01383 if (reader) { 01384 const LocalSubscriptionCIter lsi = local_subscriptions_.find(*iter); 01385 if (lsi != local_subscriptions_.end()) { 01386 lsi->second.subscription_->inconsistent_topic(); 01387 // Only make one callback per inconsistent topic, even if we have 01388 // more than one reader/writer on the topic -- it's the Topic object 01389 // that will actually see the InconsistentTopicStatus change. 01390 return; 01391 } 01392 } else { 01393 const LocalPublicationCIter lpi = local_publications_.find(*iter); 01394 if (lpi != local_publications_.end()) { 01395 lpi->second.publication_->inconsistent_topic(); 01396 return; // see comment above 01397 } 01398 } 01399 } 01400 } 01401 }
DDS::ReturnCode_t OpenDDS::RTPS::Sedp::init | ( | const DCPS::RepoId & | guid, | |
const RtpsDiscovery & | disco, | |||
DDS::DomainId_t | domainId | |||
) |
bool OpenDDS::RTPS::Sedp::is_opendds | ( | const GUID_t & | endpoint | ) | const [private] |
Definition at line 2372 of file Sedp.cpp.
References OpenDDS::DCPS::ENTITYID_PARTICIPANT, OpenDDS::RTPS::Spdp::is_opendds(), and spdp_.
02373 { 02374 GUID_t participant = endpoint; 02375 participant.entityId = DCPS::ENTITYID_PARTICIPANT; 02376 return spdp_.is_opendds(participant); 02377 }
const ACE_INET_Addr & OpenDDS::RTPS::Sedp::local_address | ( | ) | const |
Definition at line 650 of file Sedp.cpp.
References OpenDDS::DCPS::static_rchandle_cast(), and transport_inst_.
Referenced by map_ipv4_to_ipv6().
00651 { 00652 DCPS::RtpsUdpInst_rch rtps_inst = 00653 DCPS::static_rchandle_cast<DCPS::RtpsUdpInst>(transport_inst_); 00654 return rtps_inst->local_address_; 00655 }
static DCPS::RepoId OpenDDS::RTPS::Sedp::make_id | ( | const DCPS::RepoId & | participant_id, | |
const EntityId_t & | entity | |||
) | [static, private] |
bool OpenDDS::RTPS::Sedp::map_ipv4_to_ipv6 | ( | ) | const |
Definition at line 665 of file Sedp.cpp.
References local_address().
00666 { 00667 bool map = false; 00668 if (local_address().get_type() != AF_INET) { 00669 map = true; 00670 } 00671 return map; 00672 }
const ACE_INET_Addr & OpenDDS::RTPS::Sedp::multicast_group | ( | ) | const |
Definition at line 658 of file Sedp.cpp.
References OpenDDS::DCPS::static_rchandle_cast(), and transport_inst_.
Referenced by OpenDDS::RTPS::Spdp::init().
00659 { 00660 DCPS::RtpsUdpInst_rch rtps_inst = 00661 DCPS::static_rchandle_cast<DCPS::RtpsUdpInst>(transport_inst_); 00662 return rtps_inst->multicast_group_address_; 00663 }
typedef OpenDDS::RTPS::Sedp::OPENDDS_MAP_CMP | ( | DCPS::RepoId | , | |
MsgIdRdrDataPair | , | |||
DCPS::GUID_tKeyLessThan | ||||
) | [private] |
typedef OpenDDS::RTPS::Sedp::OPENDDS_MAP_CMP | ( | DCPS::RepoId | , | |
MsgIdWtrDataPair | , | |||
DCPS::GUID_tKeyLessThan | ||||
) | [private] |
typedef OpenDDS::RTPS::Sedp::OPENDDS_MAP_CMP | ( | DCPS::RepoId | , | |
LocalParticipantMessage | , | |||
DCPS::GUID_tKeyLessThan | ||||
) | [private] |
void OpenDDS::RTPS::Sedp::populate_discovered_reader_msg | ( | DCPS::DiscoveredReaderData & | drd, | |
const DCPS::RepoId & | subscription_id, | |||
const LocalSubscription & | sub | |||
) | [private] |
void OpenDDS::RTPS::Sedp::populate_discovered_writer_msg | ( | DCPS::DiscoveredWriterData & | dwd, | |
const DCPS::RepoId & | publication_id, | |||
const LocalPublication & | pub | |||
) | [private] |
virtual void OpenDDS::RTPS::Sedp::populate_transport_locator_sequence | ( | DCPS::TransportLocatorSeq *& | tls, | |
DiscoveredPublicationIter & | iter, | |||
const DCPS::RepoId & | writer | |||
) | [private, virtual] |
virtual void OpenDDS::RTPS::Sedp::populate_transport_locator_sequence | ( | DCPS::TransportLocatorSeq *& | tls, | |
DiscoveredSubscriptionIter & | iter, | |||
const DCPS::RepoId & | reader | |||
) | [private, virtual] |
void OpenDDS::RTPS::Sedp::process_discovered_reader_data | ( | DCPS::MessageId | message_id, | |
const DCPS::DiscoveredReaderData & | rdata, | |||
const DCPS::RepoId & | guid, | |||
const DDS::Security::EndpointSecurityInfo * | security_info = NULL | |||
) | [private] |
void OpenDDS::RTPS::Sedp::process_discovered_writer_data | ( | DCPS::MessageId | message_id, | |
const DCPS::DiscoveredWriterData & | wdata, | |||
const DCPS::RepoId & | guid, | |||
const DDS::Security::EndpointSecurityInfo * | security_info = NULL | |||
) | [private] |
DCPS::PublicationBuiltinTopicDataDataReaderImpl * OpenDDS::RTPS::Sedp::pub_bit | ( | ) | [private] |
Definition at line 1309 of file Sedp.cpp.
References OpenDDS::DCPS::LocalParticipant< EndpointManagerType >::bit_subscriber(), OpenDDS::DCPS::BUILT_IN_PUBLICATION_TOPIC, and spdp_.
Referenced by OpenDDS::RTPS::Sedp::Task::svc_i().
01310 { 01311 DDS::Subscriber_var sub = spdp_.bit_subscriber(); 01312 if (!sub.in()) 01313 return 0; 01314 01315 DDS::DataReader_var d = 01316 sub->lookup_datareader(DCPS::BUILT_IN_PUBLICATION_TOPIC); 01317 return dynamic_cast<DCPS::PublicationBuiltinTopicDataDataReaderImpl*>(d.in()); 01318 }
void OpenDDS::RTPS::Sedp::remove_entities_belonging_to | ( | Map & | m, | |
RepoId | participant | |||
) | [inline] |
Definition at line 1215 of file Sedp.cpp.
References ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::get_topic_name(), LM_DEBUG, OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::match_endpoints(), OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::OPENDDS_MAP(), OPENDDS_STRING, OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::remove_from_bit(), OpenDDS::RTPS::Spdp::shutting_down(), and spdp_.
01216 { 01217 participant.entityId.entityKey[0] = 0; 01218 participant.entityId.entityKey[1] = 0; 01219 participant.entityId.entityKey[2] = 0; 01220 participant.entityId.entityKind = 0; 01221 for (typename Map::iterator i = m.lower_bound(participant); 01222 i != m.end() && 0 == std::memcmp(i->first.guidPrefix, 01223 participant.guidPrefix, 01224 sizeof(GuidPrefix_t));) { 01225 OPENDDS_STRING topic_name = get_topic_name(i->second); 01226 OPENDDS_MAP(OPENDDS_STRING, TopicDetails)::iterator top_it = 01227 topics_.find(topic_name); 01228 if (top_it != topics_.end()) { 01229 top_it->second.endpoints_.erase(i->first); 01230 if (DCPS::DCPS_debug_level > 3) { 01231 ACE_DEBUG((LM_DEBUG, 01232 ACE_TEXT("(%P|%t) Sedp::remove_entities_belonging_to - ") 01233 ACE_TEXT("calling match_endpoints remove\n"))); 01234 } 01235 match_endpoints(i->first, top_it->second, true /*remove*/); 01236 if (spdp_.shutting_down()) { return; } 01237 } 01238 remove_from_bit(i->second); 01239 m.erase(i++); 01240 } 01241 }
void OpenDDS::RTPS::Sedp::remove_entities_belonging_to | ( | Map & | m, | |
DCPS::RepoId | participant | |||
) | [inline, private] |
void OpenDDS::RTPS::Sedp::remove_from_bit_i | ( | const DiscoveredSubscription & | sub | ) | [private, virtual] |
Reimplemented from OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >.
Definition at line 1254 of file Sedp.cpp.
References OpenDDS::RTPS::Sedp::Task::enqueue(), OpenDDS::RTPS::Sedp::Msg::MSG_REMOVE_FROM_SUB_BIT, and task_.
01255 { 01256 #ifndef DDS_HAS_MINIMUM_BIT 01257 task_.enqueue(Msg::MSG_REMOVE_FROM_SUB_BIT, sub.bit_ih_); 01258 #else 01259 ACE_UNUSED_ARG(sub); 01260 #endif /* DDS_HAS_MINIMUM_BIT */ 01261 }
void OpenDDS::RTPS::Sedp::remove_from_bit_i | ( | const DiscoveredPublication & | pub | ) | [private, virtual] |
Reimplemented from OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >.
Definition at line 1244 of file Sedp.cpp.
References OpenDDS::RTPS::Sedp::Task::enqueue(), OpenDDS::RTPS::Sedp::Msg::MSG_REMOVE_FROM_PUB_BIT, and task_.
01245 { 01246 #ifndef DDS_HAS_MINIMUM_BIT 01247 task_.enqueue(Msg::MSG_REMOVE_FROM_PUB_BIT, pub.bit_ih_); 01248 #else 01249 ACE_UNUSED_ARG(pub); 01250 #endif /* DDS_HAS_MINIMUM_BIT */ 01251 }
virtual DDS::ReturnCode_t OpenDDS::RTPS::Sedp::remove_publication_i | ( | const DCPS::RepoId & | publicationId | ) | [private, virtual] |
virtual DDS::ReturnCode_t OpenDDS::RTPS::Sedp::remove_subscription_i | ( | const DCPS::RepoId & | subscriptionId | ) | [private, virtual] |
void OpenDDS::RTPS::Sedp::set_inline_qos | ( | DCPS::TransportLocatorSeq & | locators | ) | [static, private] |
Definition at line 3472 of file Sedp.cpp.
References OPENDDS_STRING.
Referenced by OpenDDS::RTPS::Sedp::Reader::data_received().
03473 { 03474 const OPENDDS_STRING rtps_udp = "rtps_udp"; 03475 for (CORBA::ULong i = 0; i < locators.length(); ++i) { 03476 if (locators[i].transport_type.in() == rtps_udp) { 03477 const CORBA::ULong len = locators[i].data.length(); 03478 locators[i].data.length(len + 1); 03479 locators[i].data[len] = CORBA::Octet(1); 03480 } 03481 } 03482 }
void OpenDDS::RTPS::Sedp::shutdown | ( | void | ) |
Definition at line 1498 of file Sedp.cpp.
References participant_message_reader_, publications_reader_, OpenDDS::RTPS::Sedp::Task::shutdown(), subscriptions_reader_, and task_.
Referenced by OpenDDS::RTPS::Spdp::~Spdp().
01499 { 01500 task_.shutdown(); 01501 publications_reader_->shutting_down_ = true; 01502 subscriptions_reader_->shutting_down_ = true; 01503 participant_message_reader_->shutting_down_ = true; 01504 }
bool OpenDDS::RTPS::Sedp::shutting_down | ( | void | ) | const [private, virtual] |
Implements OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >.
Definition at line 3673 of file Sedp.cpp.
References OpenDDS::RTPS::Spdp::shutting_down(), and spdp_.
03674 { 03675 return spdp_.shutting_down(); 03676 }
void OpenDDS::RTPS::Sedp::signal_liveliness | ( | DDS::LivelinessQosPolicyKind | kind | ) |
Definition at line 2399 of file Sedp.cpp.
References ACE_TEXT(), DDS::Security::SecurityException::code, DDS::Security::TopicSecurityAttributes::is_liveliness_protected, LM_WARNING, DDS::Security::SecurityException::message, DDS::Security::SecurityException::minor_code, and signal_liveliness_unsecure().
Referenced by OpenDDS::RTPS::Spdp::signal_liveliness().
02400 { 02401 02402 #if defined(OPENDDS_SECURITY) 02403 DDS::Security::SecurityException se = {"", 0, 0}; 02404 DDS::Security::TopicSecurityAttributes attribs; 02405 02406 if (is_security_enabled()) { 02407 // TODO: Pending issue DDSSEC12-28 Topic security attributes 02408 // may get changed to a different set of security attributes. 02409 bool ok = get_access_control()->get_topic_sec_attributes( 02410 get_permissions_handle(), "DCPSParticipantMessageSecure", attribs, se); 02411 02412 if (ok) { 02413 02414 if (attribs.is_liveliness_protected) { 02415 signal_liveliness_secure(kind); 02416 02417 } else { 02418 signal_liveliness_unsecure(kind); 02419 } 02420 02421 } else { 02422 ACE_DEBUG((LM_WARNING, ACE_TEXT("(%P|%t) WARNING: Sedp::signal_liveliness() - ") 02423 ACE_TEXT("Failure calling get_topic_sec_attributes(). Security Exception[%d.%d]: %C\n"), 02424 se.code, se.minor_code, se.message.in())); 02425 } 02426 02427 } else { 02428 #endif 02429 02430 signal_liveliness_unsecure(kind); 02431 02432 #if defined(OPENDDS_SECURITY) 02433 } 02434 #endif 02435 }
void OpenDDS::RTPS::Sedp::signal_liveliness_unsecure | ( | DDS::LivelinessQosPolicyKind | kind | ) |
Definition at line 2438 of file Sedp.cpp.
References DDS::AUTOMATIC_LIVELINESS_QOS, automatic_liveliness_seq_, OpenDDS::DCPS::GUID_t::entityId, OpenDDS::DCPS::GUID_UNKNOWN, DDS::MANUAL_BY_PARTICIPANT_LIVELINESS_QOS, DDS::MANUAL_BY_TOPIC_LIVELINESS_QOS, manual_liveliness_seq_, OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >::participant_id_, OpenDDS::RTPS::PARTICIPANT_MESSAGE_DATA_KIND_AUTOMATIC_LIVELINESS_UPDATE, OpenDDS::RTPS::PARTICIPANT_MESSAGE_DATA_KIND_MANUAL_LIVELINESS_UPDATE, participant_message_writer_, OpenDDS::RTPS::ParticipantMessageData::participantGuid, and OpenDDS::RTPS::Sedp::Writer::write_participant_message().
Referenced by signal_liveliness().
02439 { 02440 ParticipantMessageData data; 02441 data.participantGuid = participant_id_; 02442 02443 switch (kind) { 02444 case DDS::AUTOMATIC_LIVELINESS_QOS: 02445 data.participantGuid.entityId = DCPS::EntityIdConverter(PARTICIPANT_MESSAGE_DATA_KIND_AUTOMATIC_LIVELINESS_UPDATE); 02446 participant_message_writer_.write_participant_message(data, GUID_UNKNOWN, automatic_liveliness_seq_); 02447 break; 02448 02449 case DDS::MANUAL_BY_PARTICIPANT_LIVELINESS_QOS: 02450 data.participantGuid.entityId = DCPS::EntityIdConverter(PARTICIPANT_MESSAGE_DATA_KIND_MANUAL_LIVELINESS_UPDATE); 02451 participant_message_writer_.write_participant_message(data, GUID_UNKNOWN, manual_liveliness_seq_); 02452 break; 02453 02454 case DDS::MANUAL_BY_TOPIC_LIVELINESS_QOS: 02455 // Do nothing. 02456 break; 02457 } 02458 }
DCPS::SubscriptionBuiltinTopicDataDataReaderImpl * OpenDDS::RTPS::Sedp::sub_bit | ( | ) | [private] |
Definition at line 1321 of file Sedp.cpp.
References OpenDDS::DCPS::LocalParticipant< EndpointManagerType >::bit_subscriber(), OpenDDS::DCPS::BUILT_IN_SUBSCRIPTION_TOPIC, and spdp_.
Referenced by OpenDDS::RTPS::Sedp::Task::svc_i().
01322 { 01323 DDS::Subscriber_var sub = spdp_.bit_subscriber(); 01324 if (!sub.in()) 01325 return 0; 01326 01327 DDS::DataReader_var d = 01328 sub->lookup_datareader(DCPS::BUILT_IN_SUBSCRIPTION_TOPIC); 01329 return dynamic_cast<DCPS::SubscriptionBuiltinTopicDataDataReaderImpl*>(d.in()); 01330 }
DCPS::TopicBuiltinTopicDataDataReaderImpl * OpenDDS::RTPS::Sedp::topic_bit | ( | ) | [private] |
Definition at line 1297 of file Sedp.cpp.
References OpenDDS::DCPS::LocalParticipant< EndpointManagerType >::bit_subscriber(), OpenDDS::DCPS::BUILT_IN_TOPIC_TOPIC, and spdp_.
01298 { 01299 DDS::Subscriber_var sub = spdp_.bit_subscriber(); 01300 if (!sub.in()) 01301 return 0; 01302 01303 DDS::DataReader_var d = 01304 sub->lookup_datareader(DCPS::BUILT_IN_TOPIC_TOPIC); 01305 return dynamic_cast<DCPS::TopicBuiltinTopicDataDataReaderImpl*>(d.in()); 01306 }
void OpenDDS::RTPS::Sedp::unicast_locators | ( | DCPS::LocatorSeq & | locators | ) | const |
Definition at line 602 of file Sedp.cpp.
References OpenDDS::RTPS::address_to_bytes(), OpenDDS::RTPS::address_to_kind(), OpenDDS::DCPS::get_interface_addrs(), OPENDDS_VECTOR, OpenDDS::DCPS::static_rchandle_cast(), TheServiceParticipant, and transport_inst_.
Referenced by OpenDDS::RTPS::Spdp::init().
00603 { 00604 DCPS::RtpsUdpInst_rch rtps_inst = 00605 DCPS::static_rchandle_cast<DCPS::RtpsUdpInst>(transport_inst_); 00606 using namespace OpenDDS::RTPS; 00607 00608 CORBA::ULong idx = 0; 00609 00610 // multicast first so it's preferred by remote peers 00611 if (rtps_inst->use_multicast_ && rtps_inst->multicast_group_address_ != ACE_INET_Addr()) { 00612 idx = locators.length(); 00613 locators.length(idx + 1); 00614 locators[idx].kind = address_to_kind(rtps_inst->multicast_group_address_); 00615 locators[idx].port = rtps_inst->multicast_group_address_.get_port_number(); 00616 RTPS::address_to_bytes(locators[idx].address, 00617 rtps_inst->multicast_group_address_); 00618 } 00619 00620 //if local_address_string is empty, or only the port has been set 00621 //need to get interface addresses to populate into the locator 00622 if (rtps_inst->local_address_config_str_.empty() || 00623 rtps_inst->local_address_config_str_.rfind(':') == 0) { 00624 typedef OPENDDS_VECTOR(ACE_INET_Addr) AddrVector; 00625 AddrVector addrs; 00626 if (TheServiceParticipant->default_address ().empty ()) { 00627 DCPS::get_interface_addrs(addrs); 00628 } else { 00629 addrs.push_back(ACE_INET_Addr(static_cast<u_short>(0), TheServiceParticipant->default_address().c_str())); 00630 } 00631 for (AddrVector::iterator adr_it = addrs.begin(); adr_it != addrs.end(); ++adr_it) { 00632 idx = locators.length(); 00633 locators.length(idx + 1); 00634 locators[idx].kind = address_to_kind(*adr_it); 00635 locators[idx].port = rtps_inst->local_address_.get_port_number(); 00636 RTPS::address_to_bytes(locators[idx].address, 00637 *adr_it); 00638 } 00639 } else { 00640 idx = locators.length(); 00641 locators.length(idx + 1); 00642 locators[idx].kind = address_to_kind(rtps_inst->local_address_); 00643 locators[idx].port = rtps_inst->local_address_.get_port_number(); 00644 RTPS::address_to_bytes(locators[idx].address, 00645 rtps_inst->local_address_); 00646 } 00647 }
bool OpenDDS::RTPS::Sedp::update_publication_qos | ( | const DCPS::RepoId & | publicationId, | |
const DDS::DataWriterQos & | qos, | |||
const DDS::PublisherQos & | publisherQos | |||
) | [virtual] |
bool OpenDDS::RTPS::Sedp::update_subscription_params | ( | const DCPS::RepoId & | subId, | |
const DDS::StringSeq & | params | |||
) | [virtual] |
bool OpenDDS::RTPS::Sedp::update_subscription_qos | ( | const DCPS::RepoId & | subscriptionId, | |
const DDS::DataReaderQos & | qos, | |||
const DDS::SubscriberQos & | subscriberQos | |||
) | [virtual] |
bool OpenDDS::RTPS::Sedp::update_topic_qos | ( | const DCPS::RepoId & | topicId, | |
const DDS::TopicQos & | qos, | |||
OPENDDS_STRING & | name | |||
) | [virtual] |
DDS::ReturnCode_t OpenDDS::RTPS::Sedp::write_dcps_participant_dispose | ( | const DCPS::RepoId & | part | ) |
void OpenDDS::RTPS::Sedp::write_durable_participant_message_data | ( | const DCPS::RepoId & | reader | ) | [private] |
void OpenDDS::RTPS::Sedp::write_durable_publication_data | ( | const DCPS::RepoId & | reader | ) | [private] |
void OpenDDS::RTPS::Sedp::write_durable_subscription_data | ( | const DCPS::RepoId & | reader | ) | [private] |
DDS::ReturnCode_t OpenDDS::RTPS::Sedp::write_participant_message_data | ( | const DCPS::RepoId & | rid, | |
LocalParticipantMessage & | part, | |||
const DCPS::RepoId & | reader = DCPS::GUID_UNKNOWN | |||
) | [private] |
DDS::ReturnCode_t OpenDDS::RTPS::Sedp::write_publication_data | ( | const DCPS::RepoId & | rid, | |
LocalPublication & | pub, | |||
const DCPS::RepoId & | reader = DCPS::GUID_UNKNOWN | |||
) | [private, virtual] |
Reimplemented from OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >.
DDS::ReturnCode_t OpenDDS::RTPS::Sedp::write_publication_data_unsecure | ( | const DCPS::RepoId & | rid, | |
LocalPublication & | pub, | |||
const DCPS::RepoId & | reader = DCPS::GUID_UNKNOWN | |||
) | [private] |
DDS::ReturnCode_t OpenDDS::RTPS::Sedp::write_subscription_data | ( | const DCPS::RepoId & | rid, | |
LocalSubscription & | pub, | |||
const DCPS::RepoId & | reader = DCPS::GUID_UNKNOWN | |||
) | [private, virtual] |
Reimplemented from OpenDDS::DCPS::EndpointManager< Security::SPDPdiscoveredParticipantData >.
DDS::ReturnCode_t OpenDDS::RTPS::Sedp::write_subscription_data_unsecure | ( | const DCPS::RepoId & | rid, | |
LocalSubscription & | pub, | |||
const DCPS::RepoId & | reader = DCPS::GUID_UNKNOWN | |||
) | [private] |
DCPS::RepoIdSet OpenDDS::RTPS::Sedp::associated_participants_ [private] |
Definition at line 566 of file Sedp.h.
Referenced by disassociate(), and OpenDDS::RTPS::Sedp::Task::svc_i().
Definition at line 646 of file Sedp.h.
Referenced by signal_liveliness_unsecure().
DCPS::RepoIdSet OpenDDS::RTPS::Sedp::defer_match_endpoints_ [private] |
Definition at line 566 of file Sedp.h.
Referenced by OpenDDS::RTPS::Sedp::Task::svc_i().
DeferredPublicationMap OpenDDS::RTPS::Sedp::deferred_publications_ [private] |
Definition at line 545 of file Sedp.h.
Referenced by data_received(), and OpenDDS::RTPS::Sedp::Task::svc_i().
DeferredSubscriptionMap OpenDDS::RTPS::Sedp::deferred_subscriptions_ [private] |
Definition at line 550 of file Sedp.h.
Referenced by data_received(), and OpenDDS::RTPS::Sedp::Task::svc_i().
const bool OpenDDS::RTPS::Sedp::host_is_bigendian_ [static] |
LocalParticipantMessageMap OpenDDS::RTPS::Sedp::local_participant_messages_ [private] |
Definition at line 647 of file Sedp.h.
Referenced by signal_liveliness_unsecure().
Definition at line 402 of file Sedp.h.
Referenced by associate(), disassociate(), and shutdown().
Definition at line 353 of file Sedp.h.
Referenced by disassociate(), signal_liveliness_unsecure(), and OpenDDS::RTPS::Sedp::Task::svc_i().
Definition at line 390 of file Sedp.h.
Referenced by associate(), disassociate(), and shutdown().
Definition at line 341 of file Sedp.h.
Referenced by disassociate(), and OpenDDS::RTPS::Sedp::Task::svc_i().
Spdp& OpenDDS::RTPS::Sedp::spdp_ [private] |
Definition at line 144 of file Sedp.h.
Referenced by data_received(), disassociate(), is_opendds(), pub_bit(), remove_entities_belonging_to(), shutting_down(), sub_bit(), and topic_bit().
Definition at line 396 of file Sedp.h.
Referenced by associate(), disassociate(), and shutdown().
Definition at line 347 of file Sedp.h.
Referenced by disassociate(), and OpenDDS::RTPS::Sedp::Task::svc_i().
Referenced by acknowledge(), associate(), OpenDDS::RTPS::Sedp::Reader::data_received(), remove_from_bit_i(), and shutdown().
Definition at line 472 of file Sedp.h.
Referenced by local_address(), multicast_group(), and unicast_locators().