I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit 1fc6d0ad authored by zzz's avatar zzz
Browse files

* UDP: Mark only first fragment as a duplicate

parent 1a6e9257
No related branches found
No related tags found
No related merge requests found
......@@ -103,14 +103,18 @@ class InboundMessageFragments /*implements UDPTransport.PartialACKSource */{
Long messageId = Long.valueOf(mid);
if (_recentlyCompletedMessages.isKnown(mid)) {
_context.statManager().addRateData("udp.ignoreRecentDuplicate", 1, 0);
from.messageFullyReceived(messageId, -1);
_ackSender.ackPeer(from);
if (_log.shouldLog(Log.INFO))
_log.info("Message received is a dup: " + mid + " dups: "
+ _recentlyCompletedMessages.getCurrentDuplicateCount() + " out of "
+ _recentlyCompletedMessages.getInsertedCount());
_context.messageHistory().droppedInboundMessage(mid, from.getRemotePeer(), "dup");
// Only update stats for the first fragment,
// otherwise it wildly overstates things
if (data.readMessageFragmentNum(i) == 0) {
_context.statManager().addRateData("udp.ignoreRecentDuplicate", 1);
from.messageFullyReceived(messageId, -1);
_ackSender.ackPeer(from);
if (_log.shouldLog(Log.INFO))
_log.info("Message received is a dup: " + mid + " dups: "
+ _recentlyCompletedMessages.getCurrentDuplicateCount() + " out of "
+ _recentlyCompletedMessages.getInsertedCount());
_context.messageHistory().droppedInboundMessage(mid, from.getRemotePeer(), "dup");
}
continue;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment