Tls_unixSourceEffectful operations using Unix for pure TLS.
The pure TLS is state and buffer in, state and buffer out. This module uses the Unix layer for communication over the network.
Abstract type of a session.
file_descr returns the underlying file-descriptor used by the given TLS socket.
read fd buf ~off ~len reads up to len bytes (defaults to Bytes.length buf - off from the given TLS socket fd, storing them in byte sequence buf, starting at position off in buf (defaults to 0). It returns the actual number of characters read, between 0 and len (inclusive).
really_read fd buf ~off ~len reads len bytes (defaults to Bytes.length buf - off) from the given TLS socket fd, storing them in byte sequence buf, starting at position off in buf (defaults to 0). If len = 0, really_read does nothing.
write t str ~off ~len writes len bytes (defaults to String.length str - off) from byte sequence str, starting at offset off (defaults to 0), to the given TLS socket fd.
shutdown t direction closes the direction of the TLS session t. If `read_write or `write is closed, a TLS close-notify is sent to the other endpoint. If this results in a fully-closed session (or an errorneous session), the underlying file descriptor is closed.
val client_of_fd :
Tls.Config.client ->
?read_buffer_size:int ->
?host:[ `host ] Domain_name.t ->
Unix.file_descr ->
tclient_of_flow client ~host fd is t, after client-side TLS handshake of fd using client configuration and host.
server_of_fd server fd is t, after server-side TLS handshake of fd using server configuration.
connect authenticator (host, port) is t, a connected TLS connection to host on port using the default configuration and the authenticator.
epoch t returns epoch, which contains information of the active session.