@Start(priority = 20)
private void join() throws Exception {
if (trace) log.trace("starting distribution manager on " + getMyAddress());
notifier.addListener(listener);
Transport t = rpcManager.getTransport();
List<Address> members = t.getMembers();
self = t.getAddress();
lastViewId = t.getViewId();
consistentHash = ConsistentHashHelper.createConsistentHash(configuration, members);
lastSuccessfulCH = ConsistentHashHelper.createConsistentHash(configuration, members);
// in case we are/become the coordinator, make sure we're in the push confirmations map before anyone else
synchronized (pushConfirmations) {
pushConfirmations.put(t.getAddress(), -1);
}
// allow incoming requests
joinStartedLatch.countDown();
// nothing to push, but we need to inform the coordinator that we have finished our push
notifyCoordinatorPushCompleted(t.getViewId());
}