dendrite/syncapi/streams
Joakim Recht 00217a69d1
Only fetch events once for all rooms (#3311)
This refactors `PDUStreamProvider` a bit so that it doesn't trigger a
database query per room, but instead utilizes the fact that it's
possible to bulk query. This improves sync performance significantly
when you have 1000s of rooms.

### Pull Request Checklist

<!-- Please read
https://matrix-org.github.io/dendrite/development/contributing before
submitting your pull request -->

* [x] I have added Go unit tests or [Complement integration
tests](https://github.com/matrix-org/complement) for this PR _or_ I have
justified why this PR doesn't need tests
* [x] Pull request includes a [sign off below using a legally
identifiable
name](https://matrix-org.github.io/dendrite/development/contributing#sign-off)
_or_ I have already signed off privately

Signed-off-by: `Joakim Recht <joakim@beyondwork.ai>`
2024-01-25 20:10:46 +01:00
..
stream_accountdata.go refactor: update GMSL (#3058) 2023-04-19 15:50:33 +01:00
stream_devicelist.go Merge keyserver & userapi (#2972) 2023-02-20 14:58:03 +01:00
stream_invite.go Move pseudoID ClientEvent hotswapping to a common location (#3199) 2023-09-15 15:25:09 +00:00
stream_notificationdata.go Always add `UnreadNotifications` to joined room reponses (#2793) 2022-10-14 10:38:12 +02:00
stream_pdu.go Only fetch events once for all rooms (#3311) 2024-01-25 20:10:46 +01:00
stream_presence.go refactor: update GMSL (#3058) 2023-04-19 15:50:33 +01:00
stream_receipt.go refactor: update GMSL (#3058) 2023-04-19 15:50:33 +01:00
stream_sendtodevice.go Modify sync transaction behaviour (#2758) 2022-10-03 11:38:20 +01:00
stream_typing.go refactor: update GMSL (#3058) 2023-04-19 15:50:33 +01:00
streamprovider.go Transactional isolation for `/sync` (#2745) 2022-09-30 12:48:10 +01:00
streams.go PDU Sender split (#3100) 2023-06-06 20:55:18 +00:00
template_stream.go Transactional isolation for `/sync` (#2745) 2022-09-30 12:48:10 +01:00