Safe Haskell | None |
---|---|
Language | Haskell2010 |
LWW-per-field RDT
Synopsis
- newtype LwwRep = LwwRep (Map UUID Op)
- assignField :: (Replicated field, ReplicaClock m, MonadE m, MonadObjectState struct m) => UUID -> field -> m ()
- lwwType :: UUID
- newObject :: (MonadState StateFrame m, ReplicaClock m) => [(UUID, Instance Replicated)] -> m UUID
- readField :: (MonadE m, MonadObjectState struct m, Replicated field) => UUID -> m field
- viewField :: (Replicated a, MonadE m, MonadState StateFrame m) => UUID -> StateChunk -> m a
- zoomField :: MonadE m => UUID -> ObjectStateT field m a -> ObjectStateT struct m a
Documentation
Untyped LWW. Implementation: a map from opRef
to the original op.
Instances
Eq LwwRep Source # | |
Show LwwRep Source # | |
Semigroup LwwRep Source # | |
Monoid LwwRep Source # | |
Reducible LwwRep Source # | |
Defined in RON.Data.LWW reducibleOpType :: UUID Source # stateFromChunk :: [Op] -> LwwRep Source # stateToChunk :: LwwRep -> StateChunk Source # applyPatches :: LwwRep -> Unapplied -> (LwwRep, Unapplied) Source # reduceUnappliedPatches :: Unapplied -> Unapplied Source # |
:: (Replicated field, ReplicaClock m, MonadE m, MonadObjectState struct m) | |
=> UUID | Field name |
-> field | Value |
-> m () |
Assign a value to a field
newObject :: (MonadState StateFrame m, ReplicaClock m) => [(UUID, Instance Replicated)] -> m UUID Source #
Create LWW object from a list of named fields.
:: (MonadE m, MonadObjectState struct m, Replicated field) | |
=> UUID | Field name |
-> m field |
Decode field value
:: (Replicated a, MonadE m, MonadState StateFrame m) | |
=> UUID | Field name |
-> StateChunk | LWW object chunk |
-> m a |
Decode field value
:: 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