tls
Library
Module
Module type
Parameter
Class
Class type
Unix API
It is the responsibility of the client to handle error conditions. The underlying file descriptors are not closed.
Constructors
val server_of_fd :
?trace:tracer ->
Tls.Config.server ->
Lwt_unix.file_descr ->
t Lwt.t
server_of_fd ?tracer server fd
is t
, after server-side TLS handshake of fd
using server
configuration.
val client_of_fd :
?trace:tracer ->
Tls.Config.client ->
?host:string ->
Lwt_unix.file_descr ->
t Lwt.t
client_of_fd ?tracer client ~host fd
is t
, after client-side TLS handshake of fd
using client
configuration and host
.
val accept :
?trace:tracer ->
Tls.Config.server ->
Lwt_unix.file_descr ->
(t * Lwt_unix.sockaddr) Lwt.t
accept ?tracer server fd
is t, sockaddr
, after accepting a client on fd
and upgrading to a TLS connection.
connect ?tracer client (host, port)
is t
, after successful connection to host
on port
and TLS upgrade.
Common stream operations
read t buffer
is length
, the number of bytes read into buffer
.
val read_bytes : t -> Lwt_bytes.t -> int -> int -> int Lwt.t
read_bytes t bytes offset len
is read_bytes
, the amount of bytes read.
val write_bytes : t -> Lwt_bytes.t -> int -> int -> unit Lwt.t
write_bytes t bytes offset length
writes length
bytes of bytes
starting at offset
to the session.
close t
closes the TLS session by sending a close notify to the peer.
val epoch : t -> [ `Ok of Tls.Core.epoch_data | `Error ]
epoch t
returns epoch
, which contains information of the active session.