trait ORSet[T] extends Crdt with Set[T]
An Observed-Removed Set.
An Observed-Removed Set allows both the addition and removal of elements in a set. A removal can only be done if all of the additions that added the key have been seen by this node. This means that, for example if node 1 adds element A, and node 2 also adds element A, then node 1's addition is replicated to node 3, and node 3 deletes it before node 2's addition is replicated, then the element will still be in the map because node 2's addition had not yet been observed by node 3, and will cause the element to be re-added when node 3 receives it. However, if both additions had been replicated to node 3, then the element will be removed.
Care needs to be taken to ensure that the serialized value of elements in the set is stable. For example, if using protobufs, the serialized value of any maps contained in the protobuf is not stable, and can yield a different set of bytes for the same logically equal element. Hence maps should be avoided. Additionally, some changes in protobuf schemas which are backwards compatible from a protobuf perspective, such as changing from sint32 to int32, do result in different serialized bytes, and so must be avoided.
- Alphabetic
- By Inheritance
- ORSet
- Set
- Collection
- Iterable
- Crdt
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
add(arg0: T): Boolean
- Definition Classes
- Set → Collection
-
abstract
def
addAll(arg0: Collection[_ <: T]): Boolean
- Definition Classes
- Set → Collection
-
abstract
def
clear(): Unit
- Definition Classes
- Set → Collection
-
abstract
def
contains(arg0: Any): Boolean
- Definition Classes
- Set → Collection
-
abstract
def
containsAll(arg0: Collection[_]): Boolean
- Definition Classes
- Set → Collection
-
abstract
def
isEmpty(): Boolean
- Definition Classes
- Set → Collection
-
abstract
def
iterator(): Iterator[T]
- Definition Classes
- Set → Collection → Iterable
-
abstract
def
remove(arg0: Any): Boolean
- Definition Classes
- Set → Collection
-
abstract
def
removeAll(arg0: Collection[_]): Boolean
- Definition Classes
- Set → Collection
-
abstract
def
retainAll(arg0: Collection[_]): Boolean
- Definition Classes
- Set → Collection
-
abstract
def
size(): Int
- Definition Classes
- Set → Collection
-
abstract
def
toArray[T](arg0: Array[T]): Array[T]
- Definition Classes
- Set → Collection
-
abstract
def
toArray(): Array[AnyRef]
- Definition Classes
- Set → Collection
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
forEach(arg0: Consumer[_ >: T]): Unit
- Definition Classes
- Iterable
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
parallelStream(): Stream[T]
- Definition Classes
- Collection
-
def
removeIf(arg0: Predicate[_ >: T]): Boolean
- Definition Classes
- Collection
-
def
spliterator(): Spliterator[T]
- Definition Classes
- Set → Collection → Iterable
-
def
stream(): Stream[T]
- Definition Classes
- Collection
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()