RelaySyncManager class
Manager for a relay client.
It is responsible for:
- enqueueing local document changes and pushing them to the relay
with at-least-once delivery (
RelayPendingQueue) - importing the room state served by the relay (welcome) and the rebroadcast changes of other clients
- answering compaction requests with a snapshot upload that never
covers log entries this client has not imported (
RelaySeqTracker)
Constructors
- RelaySyncManager({required CRDTDocument document, required RelaySocketClient client})
- Manager for a relay client.
Properties
- client → RelaySocketClient
-
The relay client
final
- document → CRDTDocument
-
The local CRDT document
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- lastKnownSeq → int
-
The last relay log sequence number this client knows to have fully
imported (
0before the first welcome).no setter - pendingChangesCount → int
-
Number of local change blobs not yet acknowledged by the relay.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
dispose(
) → void - Dispose the resources
-
enqueue(
Change change) → void -
Enqueues
changefor the relay and flushes. -
flush(
) → Future< void> - Pushes every queued blob, if allowed.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onAck(
RelayAckMessage message) → Future< void> - Handles the ack of a push: drops the acknowledged blobs and flushes what queued up in the meantime.
-
onChanges(
RelayChangesMessage message) → void - Imports change blobs rebroadcast by the relay.
-
onConnectionLost(
) → void - Marks the connection as lost.
-
onWelcome(
RelayWelcomeMessage message) → Future< void> - Imports the room state of a welcome.
-
requestState(
) → Future< void> - Sends a state request; the relay answers with a welcome carrying the current persisted room state.
-
toString(
) → String -
A string representation of this object.
inherited
-
uploadSnapshot(
int requestedSeq) → Future< void> - Uploads a snapshot to compact the room log.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited