| 1080 | } |
| 1081 | |
| 1082 | void |
| 1083 | ManagerImpl::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 | |
| 1111 | void |
| 1112 | ManagerImpl::leave_and_shutdown( |
no test coverage detected