Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype ClientRespChan s v = ClientRespChan {
- clientRespChan :: TChan (STM IO) (ClientResponse s v)
- newClientRespChan :: IO (ClientRespChan s v)
- newtype RaftClientRespChanT s v m a = RaftClientRespChanT {
- unRaftClientRespChanT :: ReaderT (ClientRespChan s v) m a
- type RaftSocketClientM s v = RaftClientT s v (RaftClientRespChanT s v IO)
- runRaftSocketClientM :: ClientId -> Set NodeId -> ClientRespChan s v -> RaftSocketClientM s v a -> IO a
- 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))
- socketClientWrite :: (Serialize s, Serialize v, Serialize (RaftStateMachinePureError s v), Show s, Show v, Show (RaftClientError s v (RaftSocketClientM s v)), Show (RaftStateMachinePureError s v)) => v -> RaftSocketClientM s v (Either Text (ClientWriteResp s v))
Documentation
newtype ClientRespChan s v Source #
ClientRespChan | |
|
Instances
Monad m => MonadReader (ClientRespChan s v) (RaftClientRespChanT s v m) Source # | |
Defined in Examples.Raft.Socket.Client ask :: RaftClientRespChanT s v m (ClientRespChan s v) # local :: (ClientRespChan s v -> ClientRespChan s v) -> RaftClientRespChanT s v m a -> RaftClientRespChanT s v m a # reader :: (ClientRespChan s v -> a) -> RaftClientRespChanT s v m a # |
newClientRespChan :: IO (ClientRespChan s v) Source #
newtype RaftClientRespChanT s v m a Source #
RaftClientRespChanT | |
|
Instances
type RaftSocketClientM s v = RaftClientT s v (RaftClientRespChanT s v IO) Source #
runRaftSocketClientM :: ClientId -> Set NodeId -> ClientRespChan s v -> RaftSocketClientM s v a -> IO a Source #
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
socketClientWrite :: (Serialize s, Serialize v, Serialize (RaftStateMachinePureError s v), Show s, Show v, Show (RaftClientError s v (RaftSocketClientM s v)), Show (RaftStateMachinePureError s v)) => v -> RaftSocketClientM s v (Either Text (ClientWriteResp s v)) Source #