Providing, probably, modern socket library.
Most of the bindings defined in this library is identical as
(sagittarius socket)
, so this document will describe only the
differences.
Returns #t if the given o is a socket-options
,
tls-socket-options
, or server-tls-socket-options
, respectively.
The socket-options?
returns #t for all 3 types.
Builds a socket-options object.
The field
must be one or multiple of the followings:
See ai-family
of (sagittarius socket)
See ai-socktype
of (sagittarius socket)
See ai-flags
of (sagittarius socket)
See ai-protocl
of (sagittarius socket)
Specifies if the socket is non blocking or not, default #t
Specifies connection timeout in micro seconds, default #f (infinite)
Specifies read timeout, default #f (infinite) see socket-set-read-timeout!
for more details.
Builds a tls-socket-options object.
The fields
must be the ones from socket-options-builder
or
one or multiple of the followings:
Specifes if handshake must be done or not. Default #t
A client private key
A list of client certificates, must be specified when private-key
is specified
A certificate verifier procedure
A list of server name indicators, a list of string
A list of application layer protocol negotiation names
Builds a server-tls-socket-options object.
The fields
must be the ones from tls-socket-options-builder
or
one or multiple of the followings:
Specifes if client certificate is required or not. Default #f
A list of trusted certificates
Creates a client socket.
This is almost the same as the one from (sagittarius socket)
, the only
difference is it takes options to specify extra options, such as
read timeout or connection timeout.
Creates a client socket.
This is almost the same as the one from (rfc tls)
, the only
difference is it takes options to specify extra options, such as
client certificate, alpn, etc.
Creates a client socket.
This is almost the same as the one from (sagittarius socket)
, the only
difference is it takes options to specify extra options, such as
read timeout or connection timeout.
Creates a client socket.
This is almost the same as the one from (rfc tls)
, the only
difference is it takes options to specify extra options, such as
private key, etc.
Creates a client socket from the given options, node and service.
This is a convenient procedure to make a socket from the options instead of let user dispatch manually.