erebos-0.1.9: Decentralized messaging and synchronization
Safe HaskellNone
LanguageHaskell2010

Erebos.Service

Documentation

class (Typeable s, Storable s, Typeable (ServiceAttributes s), Typeable (ServiceState s), Typeable (ServiceGlobalState s)) => Service s where Source #

Minimal complete definition

serviceID, serviceHandler

Associated Types

type ServiceAttributes s = (attr :: Type) | attr -> s Source #

type ServiceState s Source #

type ServiceState s = ()

type ServiceGlobalState s Source #

type ServiceGlobalState s = ()

Instances

Instances details
Service ChatroomService Source # 
Instance details

Defined in Erebos.Chatroom

Service DiscoveryService Source # 
Instance details

Defined in Erebos.Discovery

Service DirectMessage Source # 
Instance details

Defined in Erebos.Message

Associated Types

type ServiceAttributes DirectMessage 
Instance details

Defined in Erebos.Message

type ServiceState DirectMessage 
Instance details

Defined in Erebos.Message

type ServiceGlobalState DirectMessage 
Instance details

Defined in Erebos.Message

Service SyncService Source # 
Instance details

Defined in Erebos.Sync

Associated Types

type ServiceAttributes SyncService 
Instance details

Defined in Erebos.Sync

type ServiceState SyncService 
Instance details

Defined in Erebos.Sync

type ServiceGlobalState SyncService 
Instance details

Defined in Erebos.Sync

PairingResult a => Service (PairingService a) Source # 
Instance details

Defined in Erebos.Pairing

Associated Types

type ServiceAttributes (PairingService a) 
Instance details

Defined in Erebos.Pairing

type ServiceState (PairingService a) 
Instance details

Defined in Erebos.Pairing

type ServiceGlobalState (PairingService a) 
Instance details

Defined in Erebos.Pairing

data ServiceID Source #

Instances

Instances details
Show ServiceID Source # 
Instance details

Defined in Erebos.Service

StorableUUID ServiceID Source # 
Instance details

Defined in Erebos.Service

Eq ServiceID Source # 
Instance details

Defined in Erebos.Service

Ord ServiceID Source # 
Instance details

Defined in Erebos.Service

data ServiceHandler s a Source #

Instances

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

Defined in Erebos.Service

MonadError String (ServiceHandler s) Source # 
Instance details

Defined in Erebos.Service

MonadIO (ServiceHandler s) Source # 
Instance details

Defined in Erebos.Service

Methods

liftIO :: IO a -> ServiceHandler s a #

Applicative (ServiceHandler s) Source # 
Instance details

Defined in Erebos.Service

Methods

pure :: a -> ServiceHandler s a #

(<*>) :: ServiceHandler s (a -> b) -> ServiceHandler s a -> ServiceHandler s b #

liftA2 :: (a -> b -> c) -> ServiceHandler s a -> ServiceHandler s b -> ServiceHandler s c #

(*>) :: ServiceHandler s a -> ServiceHandler s b -> ServiceHandler s b #

(<*) :: ServiceHandler s a -> ServiceHandler s b -> ServiceHandler s a #

Functor (ServiceHandler s) Source # 
Instance details

Defined in Erebos.Service

Methods

fmap :: (a -> b) -> ServiceHandler s a -> ServiceHandler s b #

(<$) :: a -> ServiceHandler s b -> ServiceHandler s a #

Monad (ServiceHandler s) Source # 
Instance details

Defined in Erebos.Service

Methods

(>>=) :: ServiceHandler s a -> (a -> ServiceHandler s b) -> ServiceHandler s b #

(>>) :: ServiceHandler s a -> ServiceHandler s b -> ServiceHandler s b #

return :: a -> ServiceHandler s a #

MonadStorage (ServiceHandler s) Source # 
Instance details

Defined in Erebos.Service

MonadReader (ServiceInput s) (ServiceHandler s) Source # 
Instance details

Defined in Erebos.Service

MonadWriter [ServiceReply s] (ServiceHandler s) Source # 
Instance details

Defined in Erebos.Service

data ServiceReply s Source #

Constructors

ServiceReply (Either s (Stored s)) Bool 
ServiceFinally (IO ()) 

Instances

Instances details
MonadWriter [ServiceReply s] (ServiceHandler s) Source # 
Instance details

Defined in Erebos.Service