-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A MessagePack-RPC Implementation
--
-- A MessagePack-RPC Implementation http://msgpack.org/
--
-- This is a fork of msgpack-haskell
-- https://github.com/msgpack/msgpack-haskell, since the original
-- author is unreachable. This fork incorporates a number of bugfixes and
-- is actively being developed.
@package network-msgpack-rpc
@version 0.0.2
module Network.MessagePack.Client
data Client a
execClient :: ByteString -> Int -> Client a -> IO a
runClient :: ByteString -> Int -> Client a -> IO a
-- | Call an RPC Method
call :: RpcType a => String -> a
-- | RPC error type
data RpcError
-- | Server error
RemoteError :: Object -> RpcError
-- | Result type mismatch
ResultTypeError :: String -> Object -> RpcError
-- | Protocol error
ProtocolError :: String -> RpcError
class RpcType r
rpcc :: RpcType r => String -> [Object] -> r
module Network.MessagePack.Server
-- | MessagePack RPC method
data Method m
class Monad m => MethodType m f
-- | Create a RPC method from a Haskell function
toBody :: MethodType m f => String -> f -> [Object] -> m Object
newtype ServerT m a
ServerT :: m a -> ServerT m a
[runServerT] :: ServerT m a -> m a
type Server = ServerT IO
-- | Build a method
method :: MethodType m f => String -> f -> Method m
-- | Start RPC server with a set of RPC methods.
serve :: (MonadBaseControl IO m, MonadIO m, MonadCatch m) => Int -> [Method m] -> m ()
-- | Start RPC server with a set of RPC methods.
runServer :: (MonadBaseControl IO m, MonadIO m, MonadCatch m) => Int -> [Method m] -> m ()