Warning: Reason support is experimental. We are looking for beta-tester and contributors.

Module Lwt_ssl

module Lwt_ssl : sig..end

OCaml-SSL integration


type socket

Wrapper for SSL sockets.

It is either a plain socket, either a real SSL socket.

val ssl_socket : socket -> Ssl.socket option

Returns the underlying SSL socket used for this wrapper. If it is a plain socket it returns None.

val ssl_accept : Lwt_unix.file_descr -> Ssl.context -> socket Lwt.t
val ssl_connect : Lwt_unix.file_descr -> Ssl.context -> socket Lwt.t
val plain : Lwt_unix.file_descr -> socket
val embed_socket : Lwt_unix.file_descr -> Ssl.context -> socket
val read : socket -> string -> int -> int -> int Lwt.t
val write : socket -> string -> int -> int -> int Lwt.t
val read_bytes : socket -> Lwt_bytes.t -> int -> int -> int Lwt.t
val write_bytes : socket -> Lwt_bytes.t -> int -> int -> int Lwt.t
val wait_read : socket -> unit Lwt.t
val wait_write : socket -> unit Lwt.t
val shutdown : socket -> Unix.shutdown_command -> unit
val close : socket -> unit Lwt.t
val out_channel_of_descr : socket -> Lwt_chan.out_channel
val in_channel_of_descr : socket -> Lwt_chan.in_channel
val ssl_shutdown : socket -> unit Lwt.t
val abort : socket -> exn -> unit
val is_ssl : socket -> bool

Are we using an SSL socket?

val getsockname : socket -> Unix.sockaddr
val getpeername : socket -> Unix.sockaddr