diff options
author | Joey Hess <joeyh@joeyh.name> | 2016-09-23 17:59:48 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2016-09-23 17:59:48 -0400 |
commit | d666c064b8ca06170cf4b955d5a3371fdb63881a (patch) | |
tree | 1140156d372d44ccd0949b30831d25f71b29109d /Storage.hs | |
parent | 823ebff934cf2e23afae199c24cc599983209438 (diff) | |
download | keysafe-d666c064b8ca06170cf4b955d5a3371fdb63881a.tar.gz |
delay before starting chaffing
Since there are multiple threads, this prevents the first upload from each
coming at nearly the same time.
Diffstat (limited to 'Storage.hs')
-rw-r--r-- | Storage.hs | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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 |