type allowed_ciphers = [
| `Only of string list
| `Openssl_default
| `Secure
]
type ssl_version = [
| `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 = [
| `Ssl_not_compiled_in
]
val sexp_of_session : session -> Sexplib0.Sexp.t
val sexp_of_verify_mode : verify_mode -> Sexplib0.Sexp.t
type ssl_opt = [
| `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 = [
| `Ssl_not_compiled_in
]
val sexp_of_ssl_conn : ssl_conn -> Sexplib0.Sexp.t
type addr = [
| `OpenSSL of Ipaddr.t * int * Ssl.Config.t
| `TCP of Ipaddr.t * int
| `Unix_domain_socket of string
]
val sexp_of_addr : addr -> Sexplib0.Sexp.t
val connect :
?interrupt:unit Async.Deferred.t ->
addr ->
(Async.Reader.t * Async.Writer.t) Async.Deferred.t
val with_connection :
?interrupt:unit Async.Deferred.t ->
addr ->
(Async.Reader.t -> Async.Writer.t -> unit Async.Deferred.t) ->
unit Async.Deferred.t
type trust_chain = [
| `Ca_file of string
| `Ca_path of string
| `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 = [
| `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
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