xotl.crdt.register – The Registers CRTDs¶
-
class
xotl.crdt.register.LWWRegister(*, process: xotl.crdt.base.Process)[source]¶ The Last-Write-Wins Register.
If two processes set a value concurrently (as per vector clock counter) and with the same time stamp. The process with highest
prioritywins.User API
-
set(value)[source]¶ Set the value of the register.
value should be an immutable object. Putting a mutable object may lead to unexpected behavior (specially if it implements an unsafe hash).
Internal CRDT API
-
__lshift__(other) → bool[source]¶ True is other wins.
other wins if:
- its vector clock dominates ours (it descends from ours and knows even more than we do).
- its vector clock is concurrent with ours but other is marked with a higher timestamp.
- none of the above, but other’s process has higher priority
-