libraft-0.5.0.0: Raft consensus algorithm

Safe HaskellNone
LanguageHaskell2010

Examples.Raft.Socket.Client

Synopsis

Documentation

newtype ClientRespChan s v Source #

Constructors

ClientRespChan 
Instances
Monad m => MonadReader (ClientRespChan s v) (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

newtype RaftClientRespChanT s v m a Source #

Instances
MonadBase IO m => MonadBase IO (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Methods

liftBase :: IO α -> RaftClientRespChanT s v m α #

MonadBaseControl IO m => MonadBaseControl IO (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Associated Types

type StM (RaftClientRespChanT s v m) a :: Type #

MonadTrans (RaftClientRespChanT s v) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Methods

lift :: Monad m => m a -> RaftClientRespChanT s v m a #

MonadTransControl (RaftClientRespChanT s v) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Associated Types

type StT (RaftClientRespChanT s v) a :: Type #

Methods

liftWith :: Monad m => (Run (RaftClientRespChanT s v) -> m a) -> RaftClientRespChanT s v m a #

restoreT :: Monad m => m (StT (RaftClientRespChanT s v) a) -> RaftClientRespChanT s v m a #

Monad m => MonadReader (ClientRespChan s v) (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Monad m => Monad (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Methods

(>>=) :: RaftClientRespChanT s v m a -> (a -> RaftClientRespChanT s v m b) -> RaftClientRespChanT s v m b #

(>>) :: RaftClientRespChanT s v m a -> RaftClientRespChanT s v m b -> RaftClientRespChanT s v m b #

return :: a -> RaftClientRespChanT s v m a #

fail :: String -> RaftClientRespChanT s v m a #

Functor m => Functor (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Methods

fmap :: (a -> b) -> RaftClientRespChanT s v m a -> RaftClientRespChanT s v m b #

(<$) :: a -> RaftClientRespChanT s v m b -> RaftClientRespChanT s v m a #

Applicative m => Applicative (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Methods

pure :: a -> RaftClientRespChanT s v m a #

(<*>) :: RaftClientRespChanT s v m (a -> b) -> RaftClientRespChanT s v m a -> RaftClientRespChanT s v m b #

liftA2 :: (a -> b -> c) -> RaftClientRespChanT s v m a -> RaftClientRespChanT s v m b -> RaftClientRespChanT s v m c #

(*>) :: RaftClientRespChanT s v m a -> RaftClientRespChanT s v m b -> RaftClientRespChanT s v m b #

(<*) :: RaftClientRespChanT s v m a -> RaftClientRespChanT s v m b -> RaftClientRespChanT s v m a #

Alternative m => Alternative (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

MonadPlus m => MonadPlus (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

MonadIO m => MonadIO (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Methods

liftIO :: IO a -> RaftClientRespChanT s v m a #

MonadSTM m => MonadSTM (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Associated Types

type TVar (RaftClientRespChanT s v m) :: Type -> Type #

MonadThrow m => MonadThrow (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Methods

throwM :: Exception e => e -> RaftClientRespChanT s v m a #

MonadCatch m => MonadCatch (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Methods

catch :: Exception e => RaftClientRespChanT s v m a -> (e -> RaftClientRespChanT s v m a) -> RaftClientRespChanT s v m a #

MonadMask m => MonadMask (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Methods

mask :: ((forall a. RaftClientRespChanT s v m a -> RaftClientRespChanT s v m a) -> RaftClientRespChanT s v m b) -> RaftClientRespChanT s v m b #

uninterruptibleMask :: ((forall a. RaftClientRespChanT s v m a -> RaftClientRespChanT s v m a) -> RaftClientRespChanT s v m b) -> RaftClientRespChanT s v m b #

generalBracket :: RaftClientRespChanT s v m a -> (a -> ExitCase b -> RaftClientRespChanT s v m c) -> (a -> RaftClientRespChanT s v m b) -> RaftClientRespChanT s v m (b, c) #

MonadException m => MonadException (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Methods

controlIO :: (RunIO (RaftClientRespChanT s v m) -> IO (RaftClientRespChanT s v m a)) -> RaftClientRespChanT s v m a #

(Serialize s, Serialize v, Serialize (RaftStateMachinePureError s v), MonadIO m) => RaftClientSend (RaftClientRespChanT s v m) v Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Associated Types

type RaftClientSendError (RaftClientRespChanT s v m) v :: Type Source #

(Serialize s, Serialize v, MonadIO m) => RaftClientRecv (RaftClientRespChanT s v m) s v Source # 
Instance details

Defined in Examples.Raft.Socket.Client

Associated Types

type RaftClientRecvError (RaftClientRespChanT s v m) s :: Type Source #

type StT (RaftClientRespChanT s v) a Source # 
Instance details

Defined in Examples.Raft.Socket.Client

type StT (RaftClientRespChanT s v) a = StT (ReaderT (ClientRespChan s v) :: (Type -> Type) -> Type -> Type) a
type TVar (RaftClientRespChanT s v m) Source # 
Instance details

Defined in Examples.Raft.Socket.Client

type StM (RaftClientRespChanT s v m) a Source # 
Instance details

Defined in Examples.Raft.Socket.Client

type RaftClientRecvError (RaftClientRespChanT s v m) s Source # 
Instance details

Defined in Examples.Raft.Socket.Client

type RaftClientSendError (RaftClientRespChanT s v m) v Source # 
Instance details

Defined in Examples.Raft.Socket.Client

socketClientRead :: (Serialize s, Serialize v, Serialize (RaftStateMachinePureError s v), Show s, Show v, Show (RaftClientError s v (RaftSocketClientM s v)), Show (RaftStateMachinePureError s v)) => ClientReadReq -> RaftSocketClientM s v (Either Text (ClientReadResp s v)) Source #

Send a client read request using the example socket interface of RaftSocketClientM