module Uq_ssl:sig
..end
exception Ssl_error of Ssl.ssl_error
when_done
callbacks to indicate an SSL-specific error codetypessl_socket_state =
[ `Clean | `Client | `Server | `Unclean | `Unset ]
class type ssl_multiplex_controller =object
..end
ssl_multiplex_controller
is an extended multiplex controller
which can also control SSL handshakes.
val create_ssl_multiplex_controller : ?close_inactive_descr:bool ->
?preclose:(unit -> unit) ->
?initial_state:ssl_socket_state ->
?timeout:float * exn ->
?ssl_socket:Ssl.socket ->
Unix.file_descr ->
Ssl.context -> Unixqueue.event_system -> ssl_multiplex_controller
close_inactive_descr
: Whether to close the file descriptor by
inactivate
.
preclose
: This function is called immediately before closing
the descriptor
initial_state
: can be set to `Client
or `Server
if the context
is already established. Defaults to `Unset
timeout
: if set to (t, x)
, started operations time out after t
seconds and pass the exception x
back. A timeout is only indicated
when all started operations are inactive for t
seconds.
ssl_socket
: If passed, this socket is used instead of creating a
new one for the file descriptor. It is required that the descriptor
and the SSL context are connected with this SSL socket.
val ssl_connect_engine : ssl_multiplex_controller -> unit Uq_engines.engine
val ssl_accept_engine : ssl_multiplex_controller -> unit Uq_engines.engine
module Debug:sig
..end