network-msgpack-rpc-0.0.3: A MessagePack-RPC Implementation

Safe HaskellTrustworthy
LanguageHaskell2010

Network.MessagePack.Client

Contents

Synopsis

MessagePack Client type

type Client a = ClientT IO a Source #

data ClientT m a Source #

Instances

Monad m => Monad (ClientT m) Source # 

Methods

(>>=) :: ClientT m a -> (a -> ClientT m b) -> ClientT m b #

(>>) :: ClientT m a -> ClientT m b -> ClientT m b #

return :: a -> ClientT m a #

fail :: String -> ClientT m a #

Functor m => Functor (ClientT m) Source # 

Methods

fmap :: (a -> b) -> ClientT m a -> ClientT m b #

(<$) :: a -> ClientT m b -> ClientT m a #

Monad m => Applicative (ClientT m) Source # 

Methods

pure :: a -> ClientT m a #

(<*>) :: ClientT m (a -> b) -> ClientT m a -> ClientT m b #

(*>) :: ClientT m a -> ClientT m b -> ClientT m b #

(<*) :: ClientT m a -> ClientT m b -> ClientT m a #

MonadIO m => MonadIO (ClientT m) Source # 

Methods

liftIO :: IO a -> ClientT m a #

MonadThrow m => MonadThrow (ClientT m) Source # 

Methods

throwM :: Exception e => e -> ClientT m a #

MonadCatch m => MonadCatch (ClientT m) Source # 

Methods

catch :: Exception e => ClientT m a -> (e -> ClientT m a) -> ClientT m a #

(MonadIO m, MonadThrow m, MessagePack o) => RpcType (ClientT m o) Source # 

Methods

rpcc :: String -> [Object] -> ClientT m o

Call RPC method

call :: RpcType a => String -> a Source #

Call an RPC Method

RPC error

class RpcType r Source #

Minimal complete definition

rpcc

Instances

(MessagePack o, RpcType r) => RpcType (o -> r) Source # 

Methods

rpcc :: String -> [Object] -> o -> r

(MonadIO m, MonadThrow m, MessagePack o) => RpcType (ClientT m o) Source # 

Methods

rpcc :: String -> [Object] -> ClientT m o