Current section

Files

Jump to
stratus src stratus@internal@ssl.erl
Raw

src/stratus@internal@ssl.erl

-module(stratus@internal@ssl).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([connect/3, shutdown/2, send/2, 'receive'/2, receive_timeout/3, set_opts/2]).
-spec connect(
gleam@erlang@charlist:charlist(),
integer(),
list({gleam@erlang@atom:atom_(), gleam@dynamic:dynamic_()})
) -> {ok, stratus@internal@socket:socket()} |
{error, stratus@internal@socket:socket_reason()}.
connect(Address, Port, Options) ->
ssl:connect(Address, Port, Options).
-spec shutdown(
stratus@internal@socket:socket(),
stratus@internal@socket:shutdown()
) -> {ok, nil} | {error, stratus@internal@socket:socket_reason()}.
shutdown(Socket, How) ->
stratus_ffi:ssl_shutdown(Socket, How).
-spec send(
stratus@internal@socket:socket(),
gleam@bytes_builder:bytes_builder()
) -> {ok, nil} | {error, stratus@internal@socket:socket_reason()}.
send(Socket, Packet) ->
stratus_ffi:ssl_send(Socket, Packet).
-spec 'receive'(stratus@internal@socket:socket(), integer()) -> {ok,
bitstring()} |
{error, stratus@internal@socket:socket_reason()}.
'receive'(Socket, Length) ->
ssl:recv(Socket, Length).
-spec receive_timeout(stratus@internal@socket:socket(), integer(), integer()) -> {ok,
bitstring()} |
{error, stratus@internal@socket:socket_reason()}.
receive_timeout(Socket, Length, Timeout) ->
ssl:recv(Socket, Length, Timeout).
-spec set_opts(
stratus@internal@socket:socket(),
list({gleam@erlang@atom:atom_(), gleam@dynamic:dynamic_()})
) -> {ok, nil} | {error, stratus@internal@socket:socket_reason()}.
set_opts(Socket, Opts) ->
stratus_ffi:ssl_set_opts(Socket, Opts).