mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-19 05:26:47 +00:00
e9742e9322
One request per day is thrifty, and the price of it is that a refusal is never local. With the usual cause gone the shape of the failure is still there, so a run the router refuses outright now asks for its legs one at a time instead of leaving the day blank. The pairs are enqueued rather than awaited, so they keep the spacing of every other request, and a rate limit is never split: answering a host that asked for less traffic with four more requests is the opposite of backing off. A refusal the host meant skips the two retries, because the same coordinates earn the same 400. Seam legs are merged under the day's own runs now rather than over them. legsByDay is replaced whole on every routing round while seamLegs only ever grows, so a pair that used to sit on a day boundary and now sits inside one day kept an answer nobody re-asks for, shaped by the vias of a stop that has moved.