// ARRG gossip send and handled in ARRG class private void handleArrgGossip(Connection connection) throws IOException { String poolName = connection.in().readUTF(); if (!poolName.equals(registry.getPoolName())) { connection.closeWithError("wrong pool name"); return; } arrg.handleGossip(connection); }
private void handleGossip(Connection connection) throws IOException { IbisIdentifier peer = new IbisIdentifier(connection.in()); if (peer.equals(registry.getIbisIdentifier())) { logger.error("eep! talking to ourselves"); connection.closeWithError("talking to self"); } if (!peer.poolName().equals(registry.getIbisIdentifier().poolName())) { connection.closeWithError("wrong pool"); } pool.readGossipData(connection.in()); elections.readGossipData(connection.in()); connection.sendOKReply(); pool.writeGossipData(connection.out(), gossipSize); elections.writeGossipData(connection.out()); connection.close(); }