From ddf761b1f828eb0c3601acb06155c99c161a4e71 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Sat, 26 Oct 2013 20:45:30 +0000 Subject: [PATCH] * Streaming: Randomize end of first conn limit period to prevent correlation --- .../java/src/net/i2p/client/streaming/ConnThrottler.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/streaming/java/src/net/i2p/client/streaming/ConnThrottler.java b/apps/streaming/java/src/net/i2p/client/streaming/ConnThrottler.java index 2fd58533d8..3d2b6fb2d1 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/ConnThrottler.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/ConnThrottler.java @@ -4,6 +4,7 @@ import java.util.concurrent.atomic.AtomicInteger; import net.i2p.data.Hash; import net.i2p.util.ObjectCounter; +import net.i2p.util.RandomSource; import net.i2p.util.SimpleScheduler; import net.i2p.util.SimpleTimer; @@ -29,7 +30,12 @@ class ConnThrottler { _totalMax = totalMax; this.counter = new ObjectCounter<Hash>(); _currentTotal = new AtomicInteger(); - SimpleScheduler.getInstance().addPeriodicEvent(new Cleaner(), period); + // shorten the initial period by a random amount,mpleScheduler.getInstance().addPeriodicEvent(new Cleaner(), + // to prevent correlation across destinations + // and identification of router startup time + SimpleScheduler.getInstance().addPeriodicEvent(new Cleaner(), + RandomSource.getInstance().nextLong(period), + period); } /* -- GitLab