mirror of
https://github.com/1f349/dendrite.git
synced 2024-12-23 00:34:07 +00:00
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 |
||
---|---|---|
.. | ||
storage_edus.go | ||
storage_keys.go | ||
storage_pdus.go | ||
storage.go |