module Network.MessagePack.Server (
Method
, MethodType (..)
, MethodDocs (..)
, MethodVal (..)
, ServerT (..)
, Server
, method
, methodName
, methodDocs
, serve
, runServer
) where
import Control.Monad.Catch (MonadCatch)
import Control.Monad.Trans (MonadIO)
import Control.Monad.Trans.Control (MonadBaseControl)
import Network.MessagePack.Protocol (protocolMethods)
import Network.MessagePack.Server.Basic
runServer
:: (MonadBaseControl IO m, MonadIO m, MonadCatch m)
=> Int
-> [Method m]
-> m ()
runServer port methods =
serve port (protocolMethods methods)