| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Network.MessagePack.Server
- data Method m
- class Monad m => MethodType m f where
- data MethodDocs = MethodDocs {
- methodArgs :: [MethodVal]
- methodRetv :: MethodVal
- data MethodVal = MethodVal {}
- newtype ServerT m a = ServerT {
- runServerT :: m a
- type Server = ServerT IO
- method :: MethodType m f => String -> MethodDocs -> f -> Method m
- methodName :: Method m -> String
- methodDocs :: Method m -> MethodDocs
- serve :: (MonadBaseControl IO m, MonadIO m, MonadCatch m) => Int -> [Method m] -> m ()
- runServer :: (MonadBaseControl IO m, MonadIO m, MonadCatch m) => Int -> [Method m] -> m ()
RPC method types
class Monad m => MethodType m f where #
Minimal complete definition
Instances
| (MonadThrow m, MessagePack o, MethodType m r) => MethodType m (o -> r) # | |
| (Functor m, MonadThrow m, MessagePack o) => MethodType m (ServerT m o) # | |
data MethodDocs #
MessagePack RPC method
Constructors
| MethodDocs | |
Fields
| |
Instances
Constructors
| ServerT | |
Fields
| |
Instances
| MonadTrans ServerT # | |
| (Functor m, MonadThrow m, MessagePack o) => MethodType m (ServerT m o) # | |
| Monad m => Monad (ServerT m) # | |
| Functor m => Functor (ServerT m) # | |
| Applicative m => Applicative (ServerT m) # | |
| MonadIO m => MonadIO (ServerT m) # | |
Build a method
Arguments
| :: MethodType m f | |
| => String | Method name |
| -> MethodDocs | |
| -> f | Method body |
| -> Method m |
Build a method
methodName :: Method m -> String #
methodDocs :: Method m -> MethodDocs #
Start RPC server
Arguments
| :: (MonadBaseControl IO m, MonadIO m, MonadCatch m) | |
| => Int | Port number |
| -> [Method m] | list of methods |
| -> m () |
Start RPC server with a set of RPC methods.
Arguments
| :: (MonadBaseControl IO m, MonadIO m, MonadCatch m) | |
| => Int | Port number |
| -> [Method m] | list of methods |
| -> m () |
Start RPC server with a set of RPC methods.