From 76fde044e35bf16c6a0af40aebd75df139cd8816 Mon Sep 17 00:00:00 2001 From: senft-desktop Date: Fri, 30 Nov 2012 16:27:21 +0100 Subject: [PATCH] Fixed the bug that caused all the lost acks. We just gave the new acks a random id, but we didnt check if we already had an ack with that id. --- ws2012/P2P/uebungen/4/src/node/Node.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ws2012/P2P/uebungen/4/src/node/Node.java b/ws2012/P2P/uebungen/4/src/node/Node.java index 54952ece..f85fd85a 100644 --- a/ws2012/P2P/uebungen/4/src/node/Node.java +++ b/ws2012/P2P/uebungen/4/src/node/Node.java @@ -106,6 +106,9 @@ public class Node { */ private Ack generateAck(final SocketAddress addr) { int ack_id = generator.nextInt(); + while (acks.containsKey(ack_id)) { + ack_id = generator.nextInt(); + } Ack newAck = new Ack(ack_id, addr, channel); acks.put(ack_id, newAck);