Module Conduit_mirage

Functorial connection establishment interface that is compatible with the Mirage libraries.

type client = [
  1. | `TCP of Ipaddr.t * int
    (*

    address and destination port

    *)
  2. | `TLS of Tls.Config.client * client
  3. | `Vchan of [ `Direct of int * Vchan.Port.t | `Domain_socket of string * Vchan.Port.t ]
]

The type for client configuration values.

val sexp_of_client : client -> Sexplib0.Sexp.t
val client_of_sexp : Sexplib0.Sexp.t -> client
val __client_of_sexp__ : Sexplib0.Sexp.t -> client
type server = [
  1. | `TCP of int
    (*

    listening port

    *)
  2. | `TLS of Tls.Config.server * server
  3. | `Vchan of [ `Direct of int * Vchan.Port.t | `Domain_socket ]
]

The type for server configuration values.

val sexp_of_server : server -> Sexplib0.Sexp.t
val server_of_sexp : Sexplib0.Sexp.t -> server
val __server_of_sexp__ : Sexplib0.Sexp.t -> server
module Endpoint (P : Mirage_clock.PCLOCK) : sig ... end
module type S = sig ... end

The signature for conduits

TCP

module TCP (S : Tcpip.Stack.V4V6) : S with type t = S.t and type flow = S.TCP.flow

The signature for conduits

VCHAN

module Vchan (X : Xs_client_lwt.S) (V : Vchan.S.ENDPOINT with type port = Vchan.Port.t) : sig ... end

TLS

module TLS (S : S) : sig ... end