Module type Conn.S

module IO : sig ... end
type t = {
  1. ic : IO.ic;
  2. oc : IO.oc;
  3. buffer : bytes;
}
val v : ?buffer_size:int -> IO.ic -> IO.oc -> t

Create a new connection using flow, ic and oc

val is_closed : t -> bool

Check if the underlying channel is closed

val read : t -> 'a Irmin.Type.t -> 'a Error.result Lwt.t

Read the next message

val write : t -> 'a Irmin.Type.t -> 'a -> unit Lwt.t

Write a message

val ok : t -> unit Lwt.t

Send "OK" message with unit response

val err : t -> string -> unit Lwt.t

Send error message

module Handshake : sig ... end
module Request : sig ... end
module Response : sig ... end
module Return : sig ... end