Moved addrToBytes to BufferUtil

This commit is contained in:
senft-desktop 2012-11-29 18:23:19 +01:00
parent d820dc1bd8
commit 384c14b359
3 changed files with 16 additions and 12 deletions

View File

@ -115,7 +115,7 @@ public class Node {
buffer.put(MessageType.NEW_NEIGHBOR);
buffer.putInt(ack.getId());
byte[] addr = addrToBytes((InetSocketAddress) neighbor);
byte[] addr = BufferUtil.addrToBytes((InetSocketAddress) neighbor);
buffer.put(addr);
buffer.flip();
@ -205,7 +205,8 @@ public class Node {
public void gatherInformationOfNetwork() {
byte[] myAddr;
try {
myAddr = addrToBytes(((InetSocketAddress) channel.getLocalAddress()));
myAddr = BufferUtil.addrToBytes(((InetSocketAddress) channel
.getLocalAddress()));
sendBroadcast(MessageType.STATUS, myAddr);
} catch (IOException e) {
// TODO Auto-generated catch block
@ -295,15 +296,6 @@ public class Node {
return false;
}
byte[] addrToBytes(InetSocketAddress addr) {
ByteBuffer buffer = ByteBuffer.allocate(8);
for (String part : addr.getHostString().split("\\.")) {
buffer.put(Byte.valueOf(part));
}
buffer.putInt(addr.getPort());
return buffer.array();
}
public int getNeighborId(SocketAddress addr) {
for (int i = 0; i < neighbors.size(); i++) {
if (neighbors.get(i).toString().equals(addr.toString())) {

View File

@ -9,6 +9,8 @@ import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import util.BufferUtil;
public class UDPHandler implements Runnable {
private final static Logger LOGGER = Logger.getLogger(Node.class.getName());
@ -87,7 +89,7 @@ public class UDPHandler implements Runnable {
// Broadcast to my neighbors
node.sendBroadcast(packet_id, command,
node.addrToBytes(originalSender));
BufferUtil.addrToBytes(originalSender));
LOGGER.log(
Level.INFO,

View File

@ -1,5 +1,6 @@
package util;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
public class BufferUtil {
@ -15,4 +16,13 @@ public class BufferUtil {
clone.flip();
return clone;
}
public static byte[] addrToBytes(InetSocketAddress addr) {
ByteBuffer buffer = ByteBuffer.allocate(8);
for (String part : addr.getHostString().split("\\.")) {
buffer.put(Byte.valueOf(part));
}
buffer.putInt(addr.getPort());
return buffer.array();
}
}