If true, AbstractDoc.load/CRuntime.load always pass savedState
to the Collabs and emit an Update event, even if savedState
appears to be redundant.
Set this to true if loading is intentionally not idempotent (loading an already-applied transaction has a nontrivial effect), or if you want to test whether loading is idempotent.
A saved state "appears to be redundant" if all of its vector clock
entries are <= our own. In that case, SavedStateEvent's vectorClock
and redundant
fields are deep-equal.
How long transactions should be in the absence of a top-level CRuntime.transact/AbstractDoc.transact call:
Promise.resolve().then()
executes).transact
call.If you guarantee that messages will always be delivered to CRuntime.receive/AbstractDoc.receive in causal order, on all replicas (not just this one), you may set this to true to turn off causal ordering checks.
For example, this may be true if all messages pass through a central server that forwards them in the order it receives them.
CRuntime.receive/AbstractDoc.receive will still filter duplicate messages for you.
For debugging/testing/benchmarking purposes, you may specify replicaID
, typically
using ReplicaIDs.pseudoRandom.
Otherwise, replicaID
is randomly generated using
ReplicaIDs.random.
Generated using TypeDoc
Constructor options for a document (CRuntime/AbstractDoc).