Module Resolver

Resolve URIs to endpoints

type service = {
  1. name : string;
  2. port : int;
  3. tls : bool;
}

Description of a single service. Can be populated from /etc/services with the exception of the tls field, which indicates if the connection is intended to be TLS/SSL-encrypted or not (e.g. for https).

val sexp_of_service : service -> Sexplib0.Sexp.t
val service_of_sexp : Sexplib0.Sexp.t -> service
module type S = sig ... end

Module type for a resolver that can map URIs to concrete endpoints that stream connections can be established with.

module Make (IO : Conduit.IO) : S with type svc = service and type 'a io = 'a IO.t

Functor to construct a concrete resolver using a Conduit.IO implementation, usually via either Lwt or Async