View Source esockd_transport (esockd v5.9.3-rc.1)
Link to this section Summary
Functions
Async receive data.
Port command to write data.
Get socket options.
Get socket stats
Peercert common name
Peercert subject
Socket peercert
Peername
TCP | SSL -> ProxySocket
Set socket options
Shutdown socket
Sockname
TCP/DTLS socket -> #ssl_socket{}
Link to this section Types
-type pp2_additional_field() :: {pp2_alpn, binary()} | {pp2_authority, binary()} | {pp2_crc32c, integer()} | {pp2_netns, binary()} | {pp2_ssl, [pp2_additional_ssl_field()]}.
-type pp2_additional_ssl_field() ::
{pp2_ssl_client, boolean()} |
{pp2_ssl_client_cert_conn, boolean()} |
{pp2_ssl_client_cert_sess, boolean()} |
{pp2_ssl_verify, success | failed} |
{pp2_ssl_version, binary()} |
{pp2_ssl_cn, binary()} |
{pp2_ssl_cipher, binary()} |
{pp2_ssl_sig_alg, binary()} |
{pp2_ssl_key_alg, binary()}.
-type proxy_socket() :: #proxy_socket{}.
-type socket() :: inet:socket() | ssl_socket() | proxy_socket() | #sslsocket{}.
-type ssl_socket() :: #ssl_socket{}.
Link to this section Functions
-spec async_recv(socket(), non_neg_integer()) -> {ok, reference()}.
-spec async_recv(socket(), non_neg_integer(), timeout()) -> {ok, reference()}.
-spec async_send(socket(), iodata()) -> ok | {error, Reason} when Reason :: close | timeout | inet:posix().
-spec async_send(socket(), iodata(), [force | nosuspend]) -> ok | {error, Reason} when Reason :: close | timeout | inet:posix().
-spec close(socket()) -> ok | {error, term()}.
-spec controlling_process(socket(), pid()) -> ok | {error, Reason} when Reason :: closed | not_owner | badarg | inet:posix().
-spec ensure_ok_or_exit(atom(), [term()]) -> term().
-spec fast_close(socket()) -> ok.
-spec getopts(socket(), [inet:socket_getopt()]) -> {ok, [inet:socket_setopt()]} | {error, inet:posix()}.
-spec getstat(socket(), [inet:stat_option()]) -> {ok, [{inet:stat_option(), integer()}]} | {error, inet:posix()}.
-spec is_ssl(socket()) -> boolean().
-spec listen(inet:port_number(), [gen_tcp:listen_option()]) -> {ok, inet:socket()} | {error, system_limit | inet:posix()}.
-spec peer_cert_common_name(socket()) -> undefined | binary().
-spec peer_cert_subject(socket()) -> undefined | binary().
-spec peercert(socket()) -> nossl | binary() | [pp2_additional_ssl_field()] | {error, term()}.
-spec peername(socket()) -> {ok, {inet:ip_address(), inet:port_number()}} | {error, inet:posix()}.
-spec ready(pid(), socket(), [esockd:sock_fun()]) -> any().
-spec recv(socket(), non_neg_integer()) -> {ok, iodata()} | {error, closed | inet:posix()}.
-spec recv(socket(), non_neg_integer(), timeout()) -> {ok, iodata()} | {error, closed | inet:posix()}.
-spec send(socket(), iodata()) -> ok | {error, Reason} when Reason :: closed | timeout | inet:posix().
-spec setopts(socket(), [inet:socket_setopt()]) -> ok | {error, inet:posix()}.
-spec shutdown(socket(), How) -> ok | {error, inet:posix()} when How :: read | write | read_write.
-spec sockname(socket()) -> {ok, {inet:ip_address(), inet:port_number()}} | {error, inet:posix()}.
-spec ssl_upgrade_fun([ssl:ssl_option()]) -> esockd:sock_fun().
-spec type(socket()) -> tcp | ssl | proxy.