AuctionDataAsUIJDLattice

rdts.experiments.AuctionInterface.AuctionData.AuctionDataAsUIJDLattice

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

override def merge(left: AuctionData, right: AuctionData): AuctionData

By assumption: associative, commutative, idempotent.

By assumption: associative, commutative, idempotent.

Implementation note: If it matters, assume that left is the current state and right is an added delta. All code should assume that left is the larger state (and optimize for this). If left == right, prefer to return left.

Attributes

Definition Classes
override def subsumption(left: AuctionData, right: AuctionData): Boolean

Lattice order is derived from merge. Overriding implementations must make sure that they compute exactly the same results as the equation below.

Lattice order is derived from merge. Overriding implementations must make sure that they compute exactly the same results as the equation below.

Attributes

Definition Classes

Extensions

Extensions

extension (a: AuctionData)
override def decomposed: Iterable[AuctionData]

Decompose a state into potentially smaller parts. Guarantees for any two states a and b that decompose(a).fold(b)(merge) == bmergea, i.e., merging the decomposed values into b has the same result as merging the full a into b (assuming b is normalized).

Decompose a state into potentially smaller parts. Guarantees for any two states a and b that decompose(a).fold(b)(merge) == bmergea, i.e., merging the decomposed values into b has the same result as merging the full a into b (assuming b is normalized).

Note that the goal here is small individual storage size at reasonable computational cost. The results might not be minimal. The results might overlap. The result may be the empty sequence if a is the bottom value. Each result is <= the original value (according to the lattice).

Attributes

Definition Classes

Inherited extensions

extension (left: AuctionData)
inline def inflates(right: AuctionData): Boolean

Convenience extensions for the above.

Convenience extensions for the above.

Attributes

Inherited from:
Lattice
inline def merge(right: AuctionData): AuctionData

Convenience extensions for the above.

Convenience extensions for the above.

Attributes

Inherited from:
Lattice
inline def subsumes(right: AuctionData): Boolean

Merging right into left has no effect

Merging right into left has no effect

Attributes

Inherited from:
Lattice