Module Conduit_mirage

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

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

address and destination port

| `TLS of Tls.Config.client * client
| `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 -> Ppx_sexp_conv_lib.Sexp.t
val client_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> client
val __client_of_sexp__ : Ppx_sexp_conv_lib.Sexp.t -> client
type server = [
| `TCP of int

listening port

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

The type for server configuration values.

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

TCP

module TCP : functor (S : Mirage_stack.V4V6) -> S with type t = S.t and type flow = S.TCP.flow

VCHAN

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

TLS

module TLS : functor (S : S) -> sig ... end