package colombe

  1. Overview
  2. Docs
type verb = string
type encode =
  1. | Request of {
    1. verb : verb;
    2. args : string list;
    }
  2. | Payload of {
    1. buf : Bytes.t;
    2. off : int;
    3. len : int;
    }
type action =
  1. | Recv_code of int
  2. | Send of encode
  3. | Waiting_payload
type decode =
  1. | Response of {
    1. code : int;
    2. txts : string list;
    }
  2. | Payload of {
    1. buf : Bytes.t;
    2. off : int;
    3. len : int;
    }
type error = ..
val pp_error : error Fmt.t
module type CLIENT = sig ... end
type description = {
  1. name : string;
  2. elho : string;
  3. verb : verb list;
}
type 'a client = (module CLIENT with type t = 'a)
type t = private ..
module type S = sig ... end
type 'a extension = (module S with type x = 'a)
type 'a ctor = 'a -> t
type instance =
  1. | V : 'a * 'a client * 'a ctor -> instance
module Injection (X : sig ... end) : S with type x = X.t
val inj : 'a client -> 'a extension
val prj : t -> instance
val eq : t -> 'a extension -> 'a option