rpclib

A library to deal with RPCs in OCaml
module Param : sig ... end

The Param module is associated with parameters to RPCs. RPCs are defined in terms of 'a Param.t values.

module Error : sig ... end
module Interface : sig ... end

An interface is a collection of RPC declarations.

exception MarshalError of string

Raised when the client/server failed to unmarshal the RPC response/request.

val get_wire_name : Interface.description option -> string -> string
val get_arg : Rpc.call -> bool -> string option -> bool -> ( Rpc.t * Rpc.call, [> `Msg of string ] ) result
module type RPC = sig ... end

The RPC module type is the standard module signature that the various specialization modules must conform to.

module type MONAD = sig ... end
exception NoDescription

For the Server generation, the 'implement' function call _must_ be called before any RPCs are described. This exception will be raised if the user tries to do this.

module Make (M : MONAD) : sig ... end
module ExnM : sig ... end
module IdM : sig ... end
module DefaultError : sig ... end
module Exn : sig ... end