Module Conduit_async.V3

type allowed_ciphers = [
  1. | `Only of string list
  2. | `Openssl_default
  3. | `Secure
]
val sexp_of_allowed_ciphers : allowed_ciphers -> Sexplib0.Sexp.t
val allowed_ciphers_of_sexp : Sexplib0.Sexp.t -> allowed_ciphers
val __allowed_ciphers_of_sexp__ : Sexplib0.Sexp.t -> allowed_ciphers
type ssl_version = [
  1. | `Ssl_not_compiled_in
]
val sexp_of_ssl_version : ssl_version -> Sexplib0.Sexp.t
val ssl_version_of_sexp : Sexplib0.Sexp.t -> ssl_version
type session = [
  1. | `Ssl_not_compiled_in
]
val sexp_of_session : session -> Sexplib0.Sexp.t
type verify_mode
val sexp_of_verify_mode : verify_mode -> Sexplib0.Sexp.t
type ssl_opt = [
  1. | `Ssl_not_compiled_in
]
val sexp_of_ssl_opt : ssl_opt -> Sexplib0.Sexp.t
val ssl_opt_of_sexp : Sexplib0.Sexp.t -> ssl_opt
type ssl_conn = [
  1. | `Ssl_not_compiled_in
]
val sexp_of_ssl_conn : ssl_conn -> Sexplib0.Sexp.t
module Ssl : sig ... end
type _ addr =
  1. | OpenSSL : Async.Socket.Address.Inet.t * Ssl.Config.t -> Async.Socket.Address.Inet.t addr
  2. | Inet : Async.Socket.Address.Inet.t -> Async.Socket.Address.Inet.t addr
  3. | Unix : Async.Socket.Address.Unix.t -> Async.Socket.Address.Unix.t addr
val sexp_of_addr : ('a__001_ -> Sexplib0.Sexp.t) -> 'a__001_ addr -> Sexplib0.Sexp.t
type _ tcp_sock =
  1. | Inet_sock : ([ `Active ], Async.Socket.Address.Inet.t) Async.Socket.t -> Async.Socket.Address.Inet.t tcp_sock
  2. | Unix_sock : ([ `Active ], Async.Socket.Address.Unix.t) Async.Socket.t -> Async.Socket.Address.Unix.t tcp_sock
val resolve_uri : ?options:Async.Unix.Addr_info.getaddrinfo_option list -> Uri.t -> Async.Socket.Address.Inet.t addr Async.Deferred.t
val connect : ?interrupt:unit Async.Deferred.t -> 'a addr -> ('a tcp_sock * Async.Reader.t * Async.Writer.t) Async.Deferred.t
val with_connection : ?interrupt:unit Async.Deferred.t -> 'a addr -> ('a tcp_sock -> Async.Reader.t -> Async.Writer.t -> 'b Async.Deferred.t) -> 'b Async.Deferred.t
val connect_uri : ?options:Async.Unix.Addr_info.getaddrinfo_option list -> ?interrupt:unit Async.Deferred.t -> Uri.t -> (Async.Socket.Address.Inet.t tcp_sock * Async.Reader.t * Async.Writer.t) Async.Deferred.t
val with_connection_uri : ?options:Async.Unix.Addr_info.getaddrinfo_option list -> ?interrupt:unit Async.Deferred.t -> Uri.t -> (Async.Socket.Address.Inet.t tcp_sock -> Async.Reader.t -> Async.Writer.t -> 'a Async.Deferred.t) -> 'a Async.Deferred.t
type trust_chain = [
  1. | `Ca_file of string
  2. | `Ca_path of string
  3. | `Search_file_first_then_path of [ `File of string ] * [ `Path of string ]
]
val sexp_of_trust_chain : trust_chain -> Sexplib0.Sexp.t
val trust_chain_of_sexp : Sexplib0.Sexp.t -> trust_chain
val __trust_chain_of_sexp__ : Sexplib0.Sexp.t -> trust_chain
type openssl = [
  1. | `OpenSSL of [ `Crt_file_path of string ] * [ `Key_file_path of string ]
]
val sexp_of_openssl : openssl -> Sexplib0.Sexp.t
val openssl_of_sexp : Sexplib0.Sexp.t -> openssl
val __openssl_of_sexp__ : Sexplib0.Sexp.t -> openssl
type server = [
  1. | openssl
  2. | `TCP
  3. | `OpenSSL_with_trust_chain of openssl * trust_chain
]
val sexp_of_server : server -> Sexplib0.Sexp.t
val server_of_sexp : Sexplib0.Sexp.t -> server
val __server_of_sexp__ : Sexplib0.Sexp.t -> server
val serve : ?max_connections:int -> ?backlog:int -> ?buffer_age_limit:Async.Writer.buffer_age_limit -> on_handler_error: [ `Call of [< Async.Socket.Address.t ] as 'a -> exn -> unit | `Ignore | `Raise ] -> server -> ('a, 'b) Async.Tcp.Where_to_listen.t -> ('a -> Async.Reader.t -> Async.Writer.t -> unit Async.Deferred.t) -> ('a, 'b) Async.Tcp.Server.t Async.Deferred.t