mirror of
https://github.com/element-hq/synapse.git
synced 2026-11-05 04:37:45 +00:00
Send the sticky event backlog in Rust on the native driver
`NativeHooks::sticky_backlog` loads a backlogged batch, cleaning up rooms whose sticky events expired, reads the events through the shared event cache and filters them for the destination. Its completion records the batch natively. Where the filter would wait for full state, the batch is left to Python, as before. `FederationStore` also gains `get_catch_up_outstanding_destinations` for phase 6. Each query has a differential test against Python's. The native queue tests now run with MSC4354 on, so the loops look at the sticky event backlog, and pin that it takes no GIL. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R5b7Ruy4cgt27Mjq6Ptxbb
This commit is contained in:
1 parent
5c6f35b0e5
commit
2d76b50a9c
9 files changed
+550
-18
No files matched your search
@@ -550,7 +550,11 @@ impl QueueHooks for PyHooks {
|
||||
.await
|
||||
}
|
||||
|
||||
async fn sticky_backlog(&self, observer: &Observer) -> Result<Option<StickyBatch>, LoopError> {
|
||||
async fn sticky_backlog(
|
||||
&self,
|
||||
_queue: &DestinationQueue,
|
||||
observer: &Observer,
|
||||
) -> Result<Option<StickyBatch>, LoopError> {
|
||||
self.call(
|
||||
observer,
|
||||
"queue_sticky_backlog",
|
||||
|
||||
Reference in new issue
Block a user