kofre.datatypes.experiments

Members list

Type members

Classlikes

case class AEAD[S, A](cyphertext: S, metadata: A)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
case class BoundedCounter(reservations: PosNegCounter, allocations: GrowOnlyCounter, participants: Set[Uid])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
case class CausalDelta[A](contained: Dots, predecessors: Dots, delta: A)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object CausalDelta

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
case class CausalStore[A](pending: CausalDelta[A], state: A)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object CausalStore

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
case class RaftState[T](participants: Set[Uid], leaderVotes: Set[Vote], valueProposals: Set[Propose[T]])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object RaftState

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
RaftState.type

A Rubis (Rice University Bidding System) is a Delta CRDT modeling an auction system.

A Rubis (Rice University Bidding System) is a Delta CRDT modeling an auction system.

Bids can only be placed on auctions that were previously opened and with a previously registered userId. When an auction is closed, concurrently placed bids are still accepted and may thus change the winner of the auction. To prevent two replicas from concurrently registering the same userId, requests for registering a new userId must be resolved by a central replica using resolveRegisterUser.

This auction system was in part modeled after the Rice University Bidding System (RUBiS) proposed by Cecchet et al. in "Performance and Scalability of EJB Applications", see here

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Types

type EnCRDT[S] = Set[AEAD[S, VectorClock]]
type Secret = String

Value members

Concrete methods

def decrypt[S, A](aead: AEAD[S, A], key: Secret): Option[S]
def encrypt[S, A](data: S, metadata: A, key: Secret): AEAD[S, A]

Givens

Givens

given encrdtLattice[S]: encrdtLattice[S]

Extensions

Extensions

extension [S](c: EnCRDT[S])
def recombine(key: Secret)(using Lattice[S]): Option[S]
def send(data: S, key: Secret, replicaID: Uid): EnCRDT[S]