import java.util.ArrayList;
import java.util.Collection;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.opendaylight.controller.cluster.access.concepts.MemberName;
private final String shardManagerType;
private final MemberName localMemberName;
- public ShardPeerAddressResolver(String shardManagerType, MemberName localMemberName) {
+ ShardPeerAddressResolver(String shardManagerType, MemberName localMemberName) {
this.shardManagerIdentifier = ShardManagerIdentifier.builder().type(shardManagerType).build().toString();
this.shardManagerType = shardManagerType;
this.localMemberName = Preconditions.checkNotNull(localMemberName);
memberNameToAddress.remove(memberName);
}
+ Set<MemberName> getPeerMembers() {
+ return this.memberNameToAddress.keySet();
+ }
+
Address getPeerAddress(MemberName memberName) {
return memberNameToAddress.get(memberName);
}
Collection<String> getShardManagerPeerActorAddresses() {
Collection<String> peerAddresses = new ArrayList<>();
- for(Map.Entry<MemberName, Address> entry: memberNameToAddress.entrySet()) {
- if(!localMemberName.equals(entry.getKey())) {
+ for (Map.Entry<MemberName, Address> entry: memberNameToAddress.entrySet()) {
+ if (!localMemberName.equals(entry.getKey())) {
peerAddresses.add(getShardManagerActorPathBuilder(entry.getValue()).toString());
}
}
String getShardActorAddress(String shardName, MemberName memberName) {
Address memberAddress = memberNameToAddress.get(memberName);
- if(memberAddress != null) {
+ if (memberAddress != null) {
return getShardManagerActorPathBuilder(memberAddress).append("/").append(
getShardIdentifier(memberName, shardName)).toString();
}