Skip to main content

Module wire

Module wire 

Source
Expand description

Sync wire protocol: frame format and message types.

Frame format: [msg_type: 1B][length: 4B LE][rkyv/msgpack body]

Message types:

  • 0x01 Handshake (client → server)
  • 0x02 HandshakeAck (server → client)
  • 0x10 DeltaPush (client → server)
  • 0x11 DeltaAck (server → client)
  • 0x12 DeltaReject (server → client)
  • 0x20 ShapeSubscribe (client → server)
  • 0x21 ShapeSnapshot (server → client)
  • 0x22 ShapeDelta (server → client)
  • 0x23 ShapeUnsubscribe (client → server)
  • 0x30 VectorClockSync (bidirectional)
  • 0x40 TimeseriesPush (client → server)
  • 0x41 TimeseriesAck (server → client)
  • 0x50 ResyncRequest (bidirectional)
  • 0x52 Throttle (client → server)
  • 0x60 TokenRefresh (client → server)
  • 0x61 TokenRefreshAck (server → client)
  • 0x70 DefinitionSync (server → client)
  • 0x80 PresenceUpdate (client → server)
  • 0x81 PresenceBroadcast (server → all subscribers)
  • 0x82 PresenceLeave (server → all subscribers)
  • 0xFF Ping/Pong (bidirectional)

Structs§

DefinitionSyncMsg
Definition sync message (server → client, 0x70).
DeltaAckMsg
Delta acknowledgment (server → client, 0x11).
DeltaPushMsg
Delta push message (client → server, 0x10).
DeltaRejectMsg
Delta rejection (server → client, 0x12).
HandshakeAckMsg
Handshake acknowledgment (server → client, 0x02).
HandshakeMsg
Handshake message (client → server, 0x01).
PeerPresence
A single peer’s presence state within a channel.
PingPongMsg
Ping/Pong keepalive (0xFF).
PresenceBroadcastMsg
Presence broadcast message (server → all subscribers except sender, 0x81).
PresenceLeaveMsg
Presence leave message (server → all subscribers, 0x82).
PresenceUpdateMsg
Presence update message (client → server, 0x80).
ResyncRequestMsg
Re-sync request message (bidirectional, 0x50).
ShapeDeltaMsg
Shape delta message (server → client, 0x22).
ShapeSnapshotMsg
Shape snapshot response (server → client, 0x21).
ShapeSubscribeMsg
Shape subscribe request (client → server, 0x20).
ShapeUnsubscribeMsg
Shape unsubscribe request (client → server, 0x23).
SyncFrame
Wire frame: wraps a message type + serialized body.
ThrottleMsg
Downstream throttle message (client → server, 0x52).
TimeseriesAckMsg
Timeseries push acknowledgment (server → client, 0x41).
TimeseriesPushMsg
Timeseries metric batch push (client → server, 0x40).
TokenRefreshAckMsg
Token refresh acknowledgment (server → client, 0x61).
TokenRefreshMsg
Token refresh request (client → server, 0x60).
VectorClockSyncMsg
Vector clock sync message (bidirectional, 0x30).

Enums§

ResyncReason
Reason for a re-sync request.
SyncMessageType
Sync message type identifiers.