OrSet class

An observed-remove set (OR-set) liveness cell.

Models one entry's presence via add/remove tags: a (doc, pid) is present iff some add-tag is not shadowed by a remove that observed it. This gives the add-wins-over-stale-remove bias liveness needs (a re-open concurrent with a lagging close keeps the doc open). The join is the union of both tag sets, so it is a semilattice — out-of-order and duplicate delivery converge.

Constructors

OrSet()
An empty OR-set.

Properties

hashCode int
The hash code for this object.
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

add(String tag) → void
Add a presence tag (an editor open / attach event mints a fresh tag).
join(OrSet other) → void
Join another replica's OR-set (union of adds and of removes).
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
present() bool
Whether the entry is currently present (some add-tag not shadowed).
removeObserved(Iterable<String> tags) → void
Remove, observing tags — only the add-tags this remove saw are shadowed.
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
override