diff --git a/router/java/src/net/i2p/router/transport/udp/PeerState2.java b/router/java/src/net/i2p/router/transport/udp/PeerState2.java index af30b443f9fa4ba3327c0adb67785308af35f4a2..f5d69a6ab59f125299376e8271f6c61b1d35b8d2 100644 --- a/router/java/src/net/i2p/router/transport/udp/PeerState2.java +++ b/router/java/src/net/i2p/router/transport/udp/PeerState2.java @@ -129,6 +129,15 @@ public class PeerState2 extends PeerState implements SSU2Payload.PayloadCallback // _wantACKSendSince = 0; } + /** + * We received the message specified completely. + * @param bytes if less than or equal to zero, message is a duplicate. + */ + @Override + void messageFullyReceived(Long messageId, int bytes) { + // TODO + } + // SSU 1 unsupported things @Override @@ -278,6 +287,7 @@ public class PeerState2 extends PeerState implements SSU2Payload.PayloadCallback public void gotI2NP(I2NPMessage msg) { // 9 byte header int size = msg.getMessageSize() - 7; + messageFullyReceived(msg.getUniqueId(), size); // complete message, skip IMF and MessageReceiver _transport.messageReceived(msg, null, _remotePeer, 0, size); } diff --git a/router/java/src/net/i2p/router/transport/udp/SSU2Payload.java b/router/java/src/net/i2p/router/transport/udp/SSU2Payload.java index f2d3b23368ce1391ea21f9f405e7a11687b23f5f..9cfffac164463f97b493f43f4192421b53630c98 100644 --- a/router/java/src/net/i2p/router/transport/udp/SSU2Payload.java +++ b/router/java/src/net/i2p/router/transport/udp/SSU2Payload.java @@ -459,7 +459,7 @@ class SSU2Payload { tgt[off++] = b; DataHelper.toLong(tgt, off, 4, m.getMessageId()); off += 4; - return off + m.writeFragment(tgt, off, 0); + return off + m.writeFragment(tgt, off, f); } }