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

Safe HaskellTrustworthy
LanguageHaskell2010

Network.MessagePack.Client

Contents

Synopsis

MessagePack Client type

data Client a Source #

Instances

Monad Client Source # 

Methods

(>>=) :: Client a -> (a -> Client b) -> Client b #

(>>) :: Client a -> Client b -> Client b #

return :: a -> Client a #

fail :: String -> Client a #

Functor Client Source # 

Methods

fmap :: (a -> b) -> Client a -> Client b #

(<$) :: a -> Client b -> Client a #

Applicative Client Source # 

Methods

pure :: a -> Client a #

(<*>) :: Client (a -> b) -> Client a -> Client b #

(*>) :: Client a -> Client b -> Client b #

(<*) :: Client a -> Client b -> Client a #

MonadIO Client Source # 

Methods

liftIO :: IO a -> Client a #

MonadThrow Client Source # 

Methods

throwM :: Exception e => e -> Client a #

MonadCatch Client Source # 

Methods

catch :: Exception e => Client a -> (e -> Client a) -> Client a #

MessagePack o => RpcType (Client o) Source # 

Methods

rpcc :: String -> [Object] -> Client o Source #

Call RPC method

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

Call an RPC Method

RPC error

class RpcType r where Source #

Minimal complete definition

rpcc

Methods

rpcc :: String -> [Object] -> r Source #

Instances

MessagePack o => RpcType (Client o) Source # 

Methods

rpcc :: String -> [Object] -> Client o Source #

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

Methods

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