[ot][spam][crazy][spam][confused code] asdf!
Undescribed Horrific Abuse, One Victim & Survivor of Many
gmkarl at gmail.com
Mon Jul 17 11:56:37 PDT 2023
271 if remaining <= ratelimit_period and
ratelimit_period > delay * 2:
272 min_delay = block_time / dividor
273 # min_delay + max_delay / 2 = ratelimited_delay
274 extra_delay = 2 * ratelimited_delay -
3 * min_delay
275 delay = min_delay + extra_delay * (eta
- mark_time) / ratelimit_period
276 -> assert mark_time + delay < eta
(Pdb) p mark_time, delay, mark_time + delay, eta
(1689617957.9965212, 14.028799527978448, 1689617972.0253208, 1689617965.997948)
the code is from a progress bar with automated delay that is used in
loops that query polling-based api endpoints that are waiting for
something slow to happen like a transaction to be mined into a block.
some constraints are:
- the endpoint may not be queried more than ratelimit_count every
ratelimit_period (outside this block, usually delay = ratelimit_period
/ ratelimit_count )
- the code is never called more than once every "delay" seconds
also:
- if a total is known, then as n approaches the total, the endpoint
should be queried close to min_delay = block_time / dividor instead
- things may come up resulting in the code being called at any point
in time at all, but it is always called after an api call
More information about the cypherpunks
mailing list