#[non_exhaustive]#[repr(u8)]pub enum SyncMessageType {
Show 30 variants
Handshake = 1,
HandshakeAck = 2,
DeltaPush = 16,
DeltaAck = 17,
DeltaReject = 18,
CollectionPurged = 20,
ShapeSubscribe = 32,
ShapeSnapshot = 33,
ShapeDelta = 34,
ShapeUnsubscribe = 35,
VectorClockSync = 48,
TimeseriesPush = 64,
TimeseriesAck = 65,
ResyncRequest = 80,
Throttle = 82,
TokenRefresh = 96,
TokenRefreshAck = 97,
DefinitionSync = 112,
PresenceUpdate = 128,
PresenceBroadcast = 129,
PresenceLeave = 130,
ArrayDelta = 144,
ArrayDeltaBatch = 145,
ArraySnapshot = 146,
ArraySnapshotChunk = 147,
ArraySchema = 148,
ArrayAck = 149,
ArrayReject = 150,
ArrayCatchupRequest = 151,
PingPong = 255,
}Expand description
Sync message type identifiers.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Handshake = 1
HandshakeAck = 2
DeltaPush = 16
DeltaAck = 17
DeltaReject = 18
CollectionPurged = 20
Collection purged notification (server → client, 0x14).
Sent when an Origin collection is hard-deleted (UNDROP window
expired or explicit DROP COLLECTION ... PURGE). The client
must drop local Loro state and remove the collection’s redb
record; future deltas for the collection are not sync-eligible.
ShapeSubscribe = 32
ShapeSnapshot = 33
ShapeDelta = 34
ShapeUnsubscribe = 35
VectorClockSync = 48
TimeseriesPush = 64
Timeseries metric batch push (client → server, 0x40).
TimeseriesAck = 65
Timeseries push acknowledgment (server → client, 0x41).
ResyncRequest = 80
Re-sync request (bidirectional, 0x50). Sent when sequence gaps or checksum failures are detected.
Throttle = 82
Downstream throttle (client → server, 0x52). Sent when Lite’s incoming queue is overwhelmed.
TokenRefresh = 96
Token refresh request (client → server, 0x60).
TokenRefreshAck = 97
Token refresh acknowledgment (server → client, 0x61).
DefinitionSync = 112
Definition sync (server → client, 0x70). Carries function/trigger/procedure definitions from Origin to Lite.
PresenceUpdate = 128
Presence update (client → server, 0x80).
PresenceBroadcast = 129
Presence broadcast (server → all subscribers except sender, 0x81).
PresenceLeave = 130
Presence leave (server → all subscribers, 0x82).
ArrayDelta = 144
Array CRDT delta (single op, client → server, 0x90).
ArrayDeltaBatch = 145
Array CRDT delta batch (multiple ops, client → server, 0x91).
ArraySnapshot = 146
Array snapshot header (server → client, 0x92).
ArraySnapshotChunk = 147
Array snapshot chunk (server → client, 0x93).
ArraySchema = 148
Array schema CRDT sync (bidirectional, 0x94).
ArrayAck = 149
Array ack — advances GC frontier (client → server, 0x95).
ArrayReject = 150
Array reject (server → client, 0x96). Compensation hint.
ArrayCatchupRequest = 151
Array catchup request (client → server, 0x97).
PingPong = 255
Implementations§
Trait Implementations§
Source§impl Clone for SyncMessageType
impl Clone for SyncMessageType
Source§fn clone(&self) -> SyncMessageType
fn clone(&self) -> SyncMessageType
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SyncMessageType
impl Debug for SyncMessageType
Source§impl PartialEq for SyncMessageType
impl PartialEq for SyncMessageType
Source§fn eq(&self, other: &SyncMessageType) -> bool
fn eq(&self, other: &SyncMessageType) -> bool
self and other values to be equal, and is used by ==.impl Copy for SyncMessageType
impl Eq for SyncMessageType
impl StructuralPartialEq for SyncMessageType
Auto Trait Implementations§
impl Freeze for SyncMessageType
impl RefUnwindSafe for SyncMessageType
impl Send for SyncMessageType
impl Sync for SyncMessageType
impl Unpin for SyncMessageType
impl UnsafeUnpin for SyncMessageType
impl UnwindSafe for SyncMessageType
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.