Async_ssl.TlsSourceval listen :
?max_connections:int ->
?backlog:int ->
?buffer_age_limit:Async.Writer.buffer_age_limit ->
?socket:
([ `Unconnected ], [< Async.Socket.Address.t ] as 'socket) Async.Socket.t ->
Config.Server.t ->
('socket, 'addr) Async.Tcp.Where_to_listen.t ->
on_handler_error:[ `Call of 'socket -> exn -> unit | `Ignore | `Raise ] ->
f:
('socket ->
Connection.t ->
Async.Reader.t ->
Async.Writer.t ->
unit Async.Deferred.t) ->
('socket, 'addr) Async.Tcp.Server.t Async.Deferred.tAccept TCP connections, do a TLS negotiation on each connection and call f with the encrypted channel.
The connection is shutdown cleanly when f returns.
val wrap_server_connection :
Config.Server.t ->
Async.Reader.t ->
Async.Writer.t ->
f:(Connection.t -> Async.Reader.t -> Async.Writer.t -> 'res Async.Deferred.t) ->
'res Async.Deferred.tWrap a provided reader/writer pair. f will be called with the application end Reader/Writer.
Once f returns we flush and close the TLS connection and wrap_serve_connection returns.
This is for use by protocols that do dynamic TLS upgrade (e.g. SMTP and XMPP)
val with_connection :
?interrupt:unit Async.Deferred.t ->
?timeout:Core.Time_ns.Span.t ->
Config.Client.t ->
'socket Async.Tcp.Where_to_connect.t ->
f:
(([ `Active ], 'socket) Async.Socket.t ->
Connection.t ->
Async.Reader.t ->
Async.Writer.t ->
'res Async.Deferred.t) ->
'res Async.Deferred.tEstablish a TCP connection to a TLS server and call f with the encrypted channel.
The connection is shutdown cleanly when f returns.
val wrap_client_connection :
?timeout:Core.Time_ns.Span.t ->
Config.Client.t ->
Async.Reader.t ->
Async.Writer.t ->
f:(Connection.t -> Async.Reader.t -> Async.Writer.t -> 'res Async.Deferred.t) ->
'res Async.Deferred.tWrap a provided reader/writer pair. f will be called with the application end Reader/Writer. Once f returns we flush and close the TLS connection and wrap_client_connection returns.
This is for use by protocols that do dynamic TLS upgrade (e.g. SMTP and XMPP)