Extracted getNeighborId()

This commit is contained in:
senft-lap 2012-11-27 16:47:33 +01:00
parent 15bdd8a483
commit 50b8614723

View File

@ -12,10 +12,6 @@ import java.util.Map;
import java.util.Random;
import java.util.logging.Logger;
import com.sun.xml.internal.bind.v2.runtime.unmarshaller.Receiver;
import util.BufferUtil;
public class Node {
private final static Logger LOGGER = Logger.getLogger(Node.class.getName());
@ -187,15 +183,24 @@ public class Node {
}
}
public boolean hasNeighbor(SocketAddress adr) {
public boolean hasNeighbor(SocketAddress addr) {
for (SocketAddress n : neighbors) {
if (n.toString().equals(adr.toString())) {
if (n.toString().equals(addr.toString())) {
return true;
}
}
return false;
}
public int getNeighborId(SocketAddress addr) {
for (int i = 0; i < neighbors.size(); i++) {
if (neighbors.get(i).toString().equals(addr.toString())) {
return i;
}
}
return -1;
}
public String getName() {
return this.name;
}
@ -263,13 +268,9 @@ public class Node {
LOGGER.info(name + ": " + receivedFrom.toString()
+ " is leaving. Deleting...");
// search the neighbor in the list and remove him.
for (int i = 0; i < neighbors.size(); i++) {
if (((InetSocketAddress) neighbors.get(i))
.getPort() == ((InetSocketAddress) receivedFrom)
.getPort()) {
neighbors.remove(i);
}
int idToRemove = getNeighborId(receivedFrom);
if (idToRemove != -1) {
neighbors.remove(idToRemove);
}
ack_id = buf.getInt();