dendrite/federationsender
Neil Alexander 42dd962425
Persistent federation sender queues (PDUs) (#1173)
* Initial work on persistent queues

* Update index for event ID and server name

* Put things into database (postgres for now)

* Duplicate postgres code into sqlite for now just to stop build errors, will fix SQLite soon

* Fix table name

* Fix index

* Fix table name

* Use RETURNING because LastInsertID is not supported by postgres

* Use functions

* Marshal headered event

* Don't error on now rows

* Don't block if there are PDUs waiting

* Try to tidy up JSON

* Debug logging

* Fix query, use transactions in postgres

* Clean up

* Rehydrate more opportunistically

* Fix SQLite

* remove unused types

* Review comments

* Shuffle things around a bit

* Clean up transaction properly

* Don't send empty transactions

* Reduce unnecessary retries

* Count PDUs to make more resilient

* Don't stop when there is work to be done

* Try to limit wakeups

* well this is tedious

* Fix race in incomplete transactions

* Thread safety on transaction ID/count
2020-07-01 11:46:38 +01:00
..
api Return remote errors from FS.PerformJoin (#1164) 2020-06-25 15:04:48 +01:00
consumers
internal Return remote errors from FS.PerformJoin (#1164) 2020-06-25 15:04:48 +01:00
inthttp Return remote errors from FS.PerformJoin (#1164) 2020-06-25 15:04:48 +01:00
queue Persistent federation sender queues (PDUs) (#1173) 2020-07-01 11:46:38 +01:00
storage Persistent federation sender queues (PDUs) (#1173) 2020-07-01 11:46:38 +01:00
types
federationsender.go Persistent federation sender queues (PDUs) (#1173) 2020-07-01 11:46:38 +01:00