key_generator: fix timing, make tests more robust
authorrobk-tahoe <robk-tahoe@allmydata.com>
Fri, 4 Apr 2008 01:43:46 +0000 (18:43 -0700)
committerrobk-tahoe <robk-tahoe@allmydata.com>
Fri, 4 Apr 2008 01:43:46 +0000 (18:43 -0700)
commit30eaaa78623487dc9234dd44c7fa4bbe82fbb6a5
tree4d68e435dd395e09279ddcde7e4f6a9dcdcad074
parentc838cfef44a8513ca34c0f0552e649adb5e65fb0
key_generator: fix timing, make tests more robust

previously there was an edge case in the timing of expected behaviour
of the key_generator (w.r.t. the refresh delay and twisted/foolscap
delivery).  if it took >6s for a key to be generated, then it was
possible for the pool refresh delay to transpire _during_ the
synchronous creation of a key in remote_get_rsa_key_pair.  this could
lead to the timer elapsing during key creation and hence the pool
being refilled before control returned to the client.

this change ensures that the time window from a get key request
until the key gen reactor blocks to refill the pool is the time
since a request was answered, not since a request was asked.
this causes the behaviour to match expectations, as embodied in
test_keygen, even if the delay window is dropped to 0.1s
src/allmydata/key_generator.py