}
if (keyToRemove != null) channelIdToNodeId.remove(keyToRemove);
}
// Register
GraphLabNodeInfo nodeInfo = new GraphLabNodeInfo(handshake.getNodeId(),
InetAddress.getByName(handshake.getAddress()),
handshake.getPort());
synchronized (this) {
nodes.put(handshake.getNodeId(),
nodeInfo);
channelIdToNodeId.put(e.getChannel().getId(), handshake.getNodeId());
nodesToChannels.put(handshake.getNodeId(), ctx.getChannel());
// Send all other nodes this node
for(Integer nodeId: nodesToChannels.keySet()) {
System.out.println("*" + nodeId + "; " + handshake.getNodeId());
if (nodeId != handshake.getNodeId()) {
sendClient(nodeId, new NodeInfoMessage(nodeInfo));
// Send other clients to this node
sendClient(nodeInfo.getId(), new NodeInfoMessage(nodes.get(nodeId)));
}
}
}
master.remoteRegisterSlave(nodeInfo);
System.out.println("Nodes now: " + nodes);