mirror of
https://github.com/element-hq/synapse.git
synced 2026-11-04 13:28:04 +00:00
Add the rust_sliding_sync option and a Rust SlidingSyncHandler
Phase 0 of the sliding sync port (renders/sliding-sync-rust-plan.md). No behaviour change: nothing calls the Rust handler yet. - `experimental_features.rust_sliding_sync: off | on`. There is no shadow mode. Booleans are accepted, as for `rust_sync`. - `synapse_rust.sliding_sync.SlidingSyncHandler`, built by `RustHandlers` on the native driver only. It shares the v2 sync handler's `SyncStore` and carries the pool, deferred and blocking helpers the later phases' entry points use. - `SlidingSyncStats`, observed per request into the `synapse_sliding_sync_rust_*` histograms. `SyncDbStats` now counts the transactions a reader begins. - The `synapse_sliding_sync_rust_rooms_total` and `synapse_sliding_sync_rust_requests_total` counters. - `SYNAPSE_TEST_RUST_SLIDING_SYNC` and `_STRICT` for trial, with the handler wrapped in `_BlockingRustCalls`, and `RUST_SLIDING_SYNC` for Complement. 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
a78b02b55c
commit
d63740fc30
15 files changed
+554
-24
No files matched your search
@@ -376,6 +376,12 @@ main() {
|
||||
export PASS_SYNAPSE_RUST_SYNC="$RUST_SYNC"
|
||||
fi
|
||||
|
||||
if [[ -n "$RUST_SLIDING_SYNC" ]]; then
|
||||
# Set `experimental_features.rust_sliding_sync` (off or on). The Rust
|
||||
# sliding sync handler needs RUST_DRIVER=1.
|
||||
export PASS_SYNAPSE_RUST_SLIDING_SYNC="$RUST_SLIDING_SYNC"
|
||||
fi
|
||||
|
||||
if [[ -n "$UNIX_SOCKETS" ]]; then
|
||||
# Enable full on Unix socket mode for Synapse, Redis and Postgresql
|
||||
export PASS_SYNAPSE_USE_UNIX_SOCKET=1
|
||||
|
||||
Reference in new issue
Block a user