241d5c47df
This is a refactor of the federation destination queues. It fixes a few things, namely: - actually retry outgoing events with backoff behaviour - obtain enough events from the database to fill messages as much as possible - minimize the amount of running goroutines - use pure timers for backoff - don't restart queue unless necessary - close the background task when backing off - increase max edus in a transaction to match the spec - cleanup timers more aggresively to reduce memory usage - add jitter to backoff timers to reduce resource spikes - add a bunch of tests (with real and fake databases) to ensure everything is working |
||
---|---|---|
.. | ||
api | ||
consumers | ||
internal | ||
inthttp | ||
producers | ||
queue | ||
routing | ||
statistics | ||
storage | ||
types | ||
federationapi.go | ||
federationapi_keys_test.go | ||
federationapi_test.go |