From 62078f55c01dd90b67ece1db763da86c4031f95e Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Wed, 20 Nov 2013 14:53:17 +0100 Subject: [PATCH] TransactionBroadcast: when there are an odd number of peers, bias towards more receivers rather than more announcers. --- .../main/java/com/google/bitcoin/core/TransactionBroadcast.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/com/google/bitcoin/core/TransactionBroadcast.java b/core/src/main/java/com/google/bitcoin/core/TransactionBroadcast.java index ff813d6e..2016e365 100644 --- a/core/src/main/java/com/google/bitcoin/core/TransactionBroadcast.java +++ b/core/src/main/java/com/google/bitcoin/core/TransactionBroadcast.java @@ -97,7 +97,7 @@ public class TransactionBroadcast { // our version message, as SPV nodes cannot relay it doesn't give away any additional information // to skip the inv here - we wouldn't send invs anyway. int numConnected = peers.size(); - numToBroadcastTo = Math.max(1, peers.size() / 2); + numToBroadcastTo = (int) Math.max(1, Math.round(Math.ceil(peers.size() / 2.0))); numWaitingFor = (int) Math.ceil((peers.size() - numToBroadcastTo) / 2.0); Collections.shuffle(peers, random); peers = peers.subList(0, numToBroadcastTo);