erebos-0.1.2: Decentralized messaging and synchronization
Safe HaskellSafe-Inferred
LanguageHaskell2010

Erebos.State

Documentation

data SharedState Source #

Instances

Instances details
Storable SharedState Source # 
Instance details

Defined in Erebos.State

class Mergeable a => SharedType a where Source #

Methods

sharedTypeID :: proxy a -> SharedTypeID Source #

Instances

Instances details
SharedType DirectMessageThreads Source # 
Instance details

Defined in Erebos.Message

SharedType (Set Contact) Source # 
Instance details

Defined in Erebos.Contact

SharedType (Maybe ComposedIdentity) Source # 
Instance details

Defined in Erebos.State

class (MonadIO m, MonadStorage m) => MonadHead a m where Source #

Methods

updateLocalHead :: (Stored a -> m (Stored a, b)) -> m b Source #

Instances

Instances details
MonadHead LocalState (ServiceHandler s) Source # 
Instance details

Defined in Erebos.Service

(HeadType a, MonadIO m) => MonadHead a (ReaderT (Head a) m) Source # 
Instance details

Defined in Erebos.State

Methods

updateLocalHead :: (Stored a -> ReaderT (Head a) m (Stored a, b)) -> ReaderT (Head a) m b Source #

updateLocalHead_ :: MonadHead a m => (Stored a -> m (Stored a)) -> m () Source #

updateSharedState :: forall a b m. (SharedType a, MonadHead LocalState m) => (a -> m (a, b)) -> Stored LocalState -> m (Stored LocalState, b) Source #