| Portability | portable |
|---|---|
| Stability | experimental |
| Maintainer | tanaka.hideyuki@gmail.com |
| Safe Haskell | None |
Network.MessagePackRpc.Server
Contents
Description
This module is server library of MessagePack-RPC. The specification of MessagePack-RPC is at http://redmine.msgpack.org/projects/msgpack/wiki/RPCProtocolSpec.
A simple example:
import Network.MessagePackRpc.Server
add :: Int -> Int -> Method Int
add x y = return $ x + y
main = serve 1234 [("add", toMethod add)]
RPC method types
class MethodType f m | f -> m whereSource
Instances
| (OBJECT o, MethodType r m) => MethodType (o -> r) m | |
| (MonadThrow m, MonadBaseControl IO m, OBJECT o) => MethodType (MethodT m o) m |
Instances
| MonadTrans MethodT | |
| Monad m => Monad (MethodT m) | |
| Functor m => Functor (MethodT m) | |
| Applicative m => Applicative (MethodT m) | |
| MonadIO m => MonadIO (MethodT m) | |
| (MonadThrow m, MonadBaseControl IO m, OBJECT o) => MethodType (MethodT m o) m |
Start RPC server
Arguments
| :: forall m . (MonadIO m, MonadThrow m, MonadBaseControl IO m) | |
| => Int | Port number |
| -> [(String, RpcMethod m)] | list of (method name, RPC method) |
| -> m () |
Start RPC server with a set of RPC methods.