From d666c064b8ca06170cf4b955d5a3371fdb63881a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 23 Sep 2016 17:59:48 -0400 Subject: delay before starting chaffing Since there are multiple threads, this prevents the first upload from each coming at nearly the same time. --- Storage.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'Storage.hs') diff --git a/Storage.hs b/Storage.hs index b5d07f5..b40a84a 100644 --- a/Storage.hs +++ b/Storage.hs @@ -156,6 +156,9 @@ storeChaff hn port delayseconds = forever $ do objsize = objectSize defaultTunables * shareOverhead defaultTunables maxmsdelay = ceiling $ 1000000 * fromMaybe 0 delayseconds go sis rng n = do + msdelay <- getStdRandom (randomR (0, maxmsdelay)) + delay msdelay + let (b, rng') = cprgGenerate objsize rng let share = Share 0 (StorableObject b) let (is, sis') = nextShareIdents sis @@ -165,6 +168,4 @@ storeChaff hn port delayseconds = forever $ do StoreSuccess -> putStr "+" _ -> putStr "!" hFlush stdout - msdelay <- getStdRandom (randomR (0, maxmsdelay)) - delay msdelay go sis' rng' n -- cgit v1.2.3