diff --git a/ws2012/P2P/uebungen/4/src/node/Ack.java b/ws2012/P2P/uebungen/4/src/node/Ack.java new file mode 100644 index 00000000..29bb167d --- /dev/null +++ b/ws2012/P2P/uebungen/4/src/node/Ack.java @@ -0,0 +1,26 @@ +package node; + +import java.net.SocketAddress; +import java.nio.ByteBuffer; + +public class Ack { + + private SocketAddress address; + private ByteBuffer buf; + + public Ack(SocketAddress address) { + this.address = address; + } + + public boolean check(SocketAddress address) { + return this.address.toString().equals(address.toString()); + } + + public ByteBuffer getBuf() { + return buf; + } + + public void setBuf(ByteBuffer buf) { + this.buf = buf; + } +} \ No newline at end of file diff --git a/ws2012/P2P/uebungen/4/src/util/BufferUtil.java b/ws2012/P2P/uebungen/4/src/util/BufferUtil.java new file mode 100644 index 00000000..8a866fe2 --- /dev/null +++ b/ws2012/P2P/uebungen/4/src/util/BufferUtil.java @@ -0,0 +1,18 @@ +package util; + +import java.nio.ByteBuffer; + +public class BufferUtil { + + public static ByteBuffer clone(ByteBuffer original) { + ByteBuffer clone = ByteBuffer.allocate(original.capacity()); + + int oldPosition = original.position(); + original.rewind();// copy from the beginning + clone.put(original); + // original.rewind(); + original.position(oldPosition); + clone.flip(); + return clone; + } +}