Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: 1.3.1
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 34 lines (28 sloc) 0.821 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
type return_record = { result : string; metadata : (int * int) list; }

type variant = Foo of string list | Bar | Baz of float

module type RPC = sig
  val rpc: Rpc.call -> Rpc.response
end

module Client: functor (R: RPC) ->
sig
  val rpc1: arg1:string -> int -> return_record
  val rpc2: ?opt:string -> variant -> unit
  val rpc3: int64 -> int64
  module SubModule : sig
    val rpc4 : int64 -> int64
  end
end

module type Server_impl =
  sig
    type context
    val rpc1 : context -> arg1:string -> int -> return_record
    val rpc2 : context -> ?opt:string -> variant -> unit
    val rpc3 : context -> int64 -> int64
    module SubModule : sig
      val rpc4 : context -> int64 -> int64
    end
  end

module Server : functor (Impl : Server_impl) ->
sig
  val process : Impl.context -> Rpc.call -> Rpc.response
end
Something went wrong with that request. Please try again.