%2      !"#$%&'()*+,-./01 Safe222Safe0RPC error type Server errorResult type mismatchProtocol error3456789:;< 3456789: 3456789:;<(c) Hideyuki Tanaka, 2010-2015BSD3tanaka.hideyuki@gmail.com experimentalportable Trustworthy 9:;<=IT+Create a RPC method from a Haskell function MessagePack RPC methodBuild a method+Start RPC server with a set of RPC methods. = >  Method name Method body?@AB Port numberlist of methodsCDE  = > ?@ABCDENoneIFRPC connection type GHFIJKLMNO GHFIJKLMNOGHFIJKLMNO (c) Hideyuki Tanaka, 2010-2015BSD3+Hideyuki Tanaka <tanaka.hideyuki@gmail.com> experimentalportable TrustworthyTCall an RPC MethodPQR PPQR Safe5SdClient supports method lists and can send more efficient method codes instead of strings for names.T Server supports method lists and can handle more efficient method codes instead of strings for names. It supports the "internal.methodList" call to return an ordered list of method names. The client can send an index in this list instead of the name itself when performing an RPC call.USVTWXUSVTUSVTWX Safe:<=YZ[\]^_YZ[\]^_YZ[\]^_Safe:<=+Start RPC server with a set of RPC methods. Port numberlist of methods      TrustworthyT`a  `a Safe -/9:;<=DRT)bcdefghijklmnopqrstuv !w"x#y$z{|}~ bcdefghijklmnmuvopqrst !w"x#y$bcdefghijklmnopqrst !w"x#y$z{|}~uvSafe muv !"#$ "!#$Safe:<=DR%&'()*+,-./01muv%&'()*-+,./ ,+-.*()/'%& %&'()*+,-./01  !" # $ %&' ( ) * + %  ,-./0123456789::;<=>?@ABCDEFGHIJK"LKMNOPQR S T U V W X Y Z [ \ ] ^ _ ` a bcd e f g h i j k l m n o p q r r s ( t 4 u v w x y z { | } ~    -,00network-msgpack-rpc-0.0.3-4zLtbdRtfhM4cz8xyJwq7dNetwork.MessagePack.ClientNetwork.MessagePack.ServerNetwork.MessagePack.InterfaceNetwork.MessagePack.Rpc%Network.MessagePack.Internal.TypeUtilNetwork.MessagePack.Types Network.MessagePack.Server.Basic#Network.MessagePack.Client.Internal Network.MessagePack.Client.Basic Network.MessagePack.CapabilitiesNetwork.MessagePack.Protocol&Network.MessagePack.Interface.InternalRpcError RemoteErrorResultTypeError ProtocolError MethodTypetoBodyServerServerT runServerTMethod methodName methodDocs MethodDocs methodArgs methodRetv MethodValvalNamevalTypemethodserveClientClientTRpcType execClientcall runServer runClient InterfaceReturns interfaceconcretemethodIORpcIOTlocalIORpcIORpcTlocalRpcrpcdocsstubsstubsIO$fRpcServiceRpcIOT$fRpcServiceRpcTtypeName ServerErrorResponseRequest packRequest packResponseunpackResponse unpackRequest$fExceptionServerError$fExceptionRpcError methodBodyprocessRequests getResponse callMethodignoreParseError$fMethodTypem(->)$fMethodTypemServerT$fMonadTransServerT Connection runClientT connSourceconnSink connMsgIdconnMthsrpcCall setMethodListrpcc $fRpcType(->)$fRpcTypeClientTCCapMethodListSCapMethodListClientCapabilityServerCapability$fMessagePackClientCapability$fMessagePackServerCapability capabilitiesN capabilitiesC capabilitiesS methodListN methodListC methodListSprotocolMethods useDefault initClientIsReturnTypeIO HaskellTypeIO ServerTypeIO implementIO IsReturnType HaskellType ServerType implement IsClientType ClientType IsDocTypeDocflatDoc InterfaceMnameMnameArgRetcoercemethodM methodIOM$fIsReturnTypeIOm(->)$fIsReturnTypeIOmReturns$fIsReturnTypem(->)$fIsReturnTypemReturns$fIsClientTypem(->)$fIsClientTypemReturns D:R:Doc(->)0$fIsDocType(->)D:R:DocReturns0$fIsDocTypeReturnsrpcIOintfIOrpcPure methodPureintfPure RpcService ClientMonad ServerMonadF