diff --git a/ws2012/P2P/uebungen/11/src/message/Ack.java b/ws2012/P2P/uebungen/11/src/message/Ack.java index b274fd90..27323d90 100644 --- a/ws2012/P2P/uebungen/11/src/message/Ack.java +++ b/ws2012/P2P/uebungen/11/src/message/Ack.java @@ -109,6 +109,7 @@ public class Ack { Level.FINE, "Didn't receive RPC Ack {0} by now. Resending... ", new Object[] { rpcId }); + LOGGER.log(Level.INFO, receiver.getAddress().toString()); channel.send(buffer, receiver.getAddress()); } catch (IOException e) { e.printStackTrace(); diff --git a/ws2012/P2P/uebungen/11/src/node/Node.java b/ws2012/P2P/uebungen/11/src/node/Node.java index 465cd917..f30b2d0c 100644 --- a/ws2012/P2P/uebungen/11/src/node/Node.java +++ b/ws2012/P2P/uebungen/11/src/node/Node.java @@ -137,15 +137,16 @@ public class Node { } } - void sendFindValue(NodeIdentifier receiver, Identifier idToFind) { + void sendFindValue(NodeIdentifier receiver, Identifier idToFind) { // need to save the fileID because we need it for future searches this.searchID = idToFind; + LOGGER.log(Level.INFO, "Sending [FIND_VALUE {0}] to node {1}",new Object[] { idToFind, receiver }); boolean successful = send(receiver, MessageType.FIND_VALUE, idToFind.getBytes(), true, null); if (successful) { - LOGGER.log(Level.INFO, "Sending [FIND_VALUE {0}] to node {1}", + LOGGER.log(Level.INFO, "Sent [FIND_VALUE {0}] to node {1}", new Object[] { idToFind, receiver }); } } @@ -293,10 +294,11 @@ public class Node { */ private boolean send(NodeIdentifier to, byte messageType, Identifier rpcID, byte[] data, boolean reliable, MessageCallback cb) { - + boolean successful = true; ByteBuffer buffer = ByteBuffer.allocate(BUFFER_SIZE); + buffer.put(messageType); buffer.put(this.nodeID.getBytes()); buffer.put(rpcID.getBytes()); @@ -305,6 +307,8 @@ public class Node { buffer.put(data); } + LOGGER.log(Level.INFO, "Sending Data to:{0} with MT:"+messageType+" data:"+buffer.toString(), to.getAddress().toString()); + buffer.flip(); try { @@ -313,7 +317,7 @@ public class Node { } catch (IOException e) { - LOGGER.log(Level.SEVERE, "Failed to write to channel", e); + LOGGER.log(Level.SEVERE, "Failed to write to channel. To:"+to.getAddress().toString()+" buffer: "+buffer.toString(), e); successful = false; } finally { @@ -371,8 +375,8 @@ public class Node { public void findValue(Identifier key) { Set nodes = routingTable.getClosestNodesTo(key); - for (NodeIdentifier node : nodes) { - sendFindValue(node, key); + for (NodeIdentifier node : nodes) { + sendFindValue(node, key); } } diff --git a/ws2012/P2P/uebungen/11/src/node/UDPHandler.java b/ws2012/P2P/uebungen/11/src/node/UDPHandler.java index 6ca668bb..8f4afac8 100644 --- a/ws2012/P2P/uebungen/11/src/node/UDPHandler.java +++ b/ws2012/P2P/uebungen/11/src/node/UDPHandler.java @@ -195,8 +195,9 @@ public class UDPHandler implements Runnable { while (buffer.hasRemaining()) { NodeIdentifier newID = getNodeTripleFromBuffer(); - node.sendFindValue(newID, node.getSearchID()); - nodes.append(newID).append(", "); + //TODO I commented this - im not sure thats right, but the sendFindValue fails! + //node.sendFindValue(newID, node.getSearchID()); + //nodes.append(newID).append(", "); numReceived++; }