MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / leave_federation

Method leave_federation

dds/InfoRepo/FederatorManagerImpl.cpp:1082–1109  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1080}
1081
1082void
1083ManagerImpl::leave_federation(
1084 RepoKey id)
1085{
1086 if (OpenDDS::DCPS::DCPS_debug_level > 0) {
1087 ACE_DEBUG((LM_DEBUG,
1088 ACE_TEXT("(%P|%t) ManagerImpl::leave_federation( %d)\n"),
1089 this->id().id()));
1090 }
1091
1092 // Remove the leaving repository from our outbound mappings.
1093 IdToManagerMap::iterator where = this->peers_.find(id);
1094
1095 if (where != this->peers_.end()) {
1096 this->peers_.erase(where);
1097 }
1098
1099 // Remove all the internal Entities owned by the leaving repository.
1100 if (!info_->remove_by_owner(config_.federationDomain(), id)) {
1101 throw Incomplete();
1102 }
1103
1104 if (OpenDDS::DCPS::DCPS_debug_level > 0) {
1105 ACE_DEBUG((LM_DEBUG,
1106 ACE_TEXT("(%P|%t) ManagerImpl::leave_federation( %d) complete.\n"),
1107 this->id().id()));
1108 }
1109}
1110
1111void
1112ManagerImpl::leave_and_shutdown(

Callers 1

finalizeMethod · 0.80

Calls 6

remove_by_ownerMethod · 0.80
federationDomainMethod · 0.80
idMethod · 0.45
findMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected