libraft-0.1.1.0: Raft consensus algorithm

Safe HaskellNone
LanguageHaskell2010

Examples.Raft.Socket.Client

Synopsis

Documentation

newtype RaftSocketClientM a #

Instances
Monad RaftSocketClientM # 
Instance details

Defined in Examples.Raft.Socket.Client

Functor RaftSocketClientM # 
Instance details

Defined in Examples.Raft.Socket.Client

Applicative RaftSocketClientM # 
Instance details

Defined in Examples.Raft.Socket.Client

Alternative RaftSocketClientM # 
Instance details

Defined in Examples.Raft.Socket.Client

MonadPlus RaftSocketClientM # 
Instance details

Defined in Examples.Raft.Socket.Client

MonadIO RaftSocketClientM # 
Instance details

Defined in Examples.Raft.Socket.Client

Methods

liftIO :: IO a -> RaftSocketClientM a #

MonadReader ClientSocketEnv RaftSocketClientM # 
Instance details

Defined in Examples.Raft.Socket.Client

selectRndNode :: NodeIds -> IO NodeId #

Randomly select a node from a set of nodes a send a message to it

sendReadRndNode :: (Serialize sm, Serialize v) => Proxy v -> NodeIds -> RaftSocketClientM (Either [Char] (ClientResponse sm)) #

Randomly read the state of a random node

sendWriteRndNode :: (Serialize v, Serialize sm) => v -> NodeIds -> RaftSocketClientM (Either [Char] (ClientResponse sm)) #

Randomly write to a random node

sendRead :: forall v sm. (Serialize sm, Serialize v) => Proxy v -> NodeId -> RaftSocketClientM (Either [Char] (ClientResponse sm)) #

Request the state of a node. It blocks until the node responds

sendWrite :: (Serialize v, Serialize sm) => v -> NodeId -> RaftSocketClientM (Either [Char] (ClientResponse sm)) #

Write to a node. It blocks until the node responds

acceptClientConnections :: Serialize sm => RaftSocketClientM (Either [Char] (ClientResponse sm)) #

Accept a connection and return the client response synchronously