ron-rdt-0.7: Replicated Data Types (RON-RDT)

Safe HaskellNone
LanguageHaskell2010

RON.Data.LWW

Description

LWW-per-field RDT

Synopsis

Documentation

newtype LwwRep Source #

Untyped LWW. Implementation: a map from opRef to the original op.

Constructors

LwwRep (Map UUID Op) 
Instances
Eq LwwRep Source # 
Instance details

Defined in RON.Data.LWW

Methods

(==) :: LwwRep -> LwwRep -> Bool #

(/=) :: LwwRep -> LwwRep -> Bool #

Show LwwRep Source # 
Instance details

Defined in RON.Data.LWW

Semigroup LwwRep Source # 
Instance details

Defined in RON.Data.LWW

Monoid LwwRep Source # 
Instance details

Defined in RON.Data.LWW

Reducible LwwRep Source # 
Instance details

Defined in RON.Data.LWW

assignField Source #

Arguments

:: (Replicated field, ReplicaClock m, MonadE m, MonadObjectState struct m) 
=> UUID

Field name

-> field

Value

-> m () 

Assign a value to a field

lwwType :: UUID Source #

Name-UUID to use as LWW type marker.

newObject :: (MonadState StateFrame m, ReplicaClock m) => [(UUID, Instance Replicated)] -> m UUID Source #

Create LWW object from a list of named fields.

readField Source #

Arguments

:: (MonadE m, MonadObjectState struct m, Replicated field) 
=> UUID

Field name

-> m field 

Decode field value

viewField Source #

Arguments

:: (Replicated a, MonadE m, MonadState StateFrame m) 
=> UUID

Field name

-> StateChunk

LWW object chunk

-> m a 

Decode field value

zoomField Source #

Arguments

:: MonadE m 
=> UUID

Field name

-> ObjectStateT field m a

Inner object modifier

-> ObjectStateT struct m a 

Pseudo-lens to an object inside a specified field