Expand description
Sync wire protocol: frame format and message types.
Frame format: [msg_type: 1B][length: 4B LE][rkyv/msgpack body]
Message types:
0x01Handshake (client → server)0x02HandshakeAck (server → client)0x10DeltaPush (client → server)0x11DeltaAck (server → client)0x12DeltaReject (server → client)0x20ShapeSubscribe (client → server)0x21ShapeSnapshot (server → client)0x22ShapeDelta (server → client)0x23ShapeUnsubscribe (client → server)0x30VectorClockSync (bidirectional)0x40TimeseriesPush (client → server)0x41TimeseriesAck (server → client)0x50ResyncRequest (bidirectional)0x52Throttle (client → server)0x60TokenRefresh (client → server)0x61TokenRefreshAck (server → client)0x70DefinitionSync (server → client)0x80PresenceUpdate (client → server)0x81PresenceBroadcast (server → all subscribers)0x82PresenceLeave (server → all subscribers)0xFFPing/Pong (bidirectional)
Structs§
- Definition
Sync Msg - Definition sync message (server → client, 0x70).
- Delta
AckMsg - Delta acknowledgment (server → client, 0x11).
- Delta
Push Msg - Delta push message (client → server, 0x10).
- Delta
Reject Msg - Delta rejection (server → client, 0x12).
- Handshake
AckMsg - Handshake acknowledgment (server → client, 0x02).
- Handshake
Msg - Handshake message (client → server, 0x01).
- Peer
Presence - A single peer’s presence state within a channel.
- Ping
Pong Msg - Ping/Pong keepalive (0xFF).
- Presence
Broadcast Msg - Presence broadcast message (server → all subscribers except sender, 0x81).
- Presence
Leave Msg - Presence leave message (server → all subscribers, 0x82).
- Presence
Update Msg - Presence update message (client → server, 0x80).
- Resync
Request Msg - Re-sync request message (bidirectional, 0x50).
- Shape
Delta Msg - Shape delta message (server → client, 0x22).
- Shape
Snapshot Msg - Shape snapshot response (server → client, 0x21).
- Shape
Subscribe Msg - Shape subscribe request (client → server, 0x20).
- Shape
Unsubscribe Msg - Shape unsubscribe request (client → server, 0x23).
- Sync
Frame - Wire frame: wraps a message type + serialized body.
- Throttle
Msg - Downstream throttle message (client → server, 0x52).
- Timeseries
AckMsg - Timeseries push acknowledgment (server → client, 0x41).
- Timeseries
Push Msg - Timeseries metric batch push (client → server, 0x40).
- Token
Refresh AckMsg - Token refresh acknowledgment (server → client, 0x61).
- Token
Refresh Msg - Token refresh request (client → server, 0x60).
- Vector
Clock Sync Msg - Vector clock sync message (bidirectional, 0x30).
Enums§
- Resync
Reason - Reason for a re-sync request.
- Sync
Message Type - Sync message type identifiers.