Behaviours: ranch_transport.
proxy_opts() = ranch_proxy_protocol:proxy_opts()
proxy_protocol_info() = ranch_proxy_protocol:proxy_protocol_info()
proxy_socket() = ranch_proxy_protocol:proxy_socket()
abstract datatype: ssl_socket()
| accept/2 | |
| accept_ack/2 | |
| bearer_port/1 | |
| close/1 | |
| connect/3 | |
| connect/4 | |
| connection_info/1 | |
| connection_info/2 | |
| controlling_process/2 | |
| get_csocket/1 | |
| getopts/2 | |
| getstat/1 | |
| getstat/2 | |
| handshake/3 | |
| listen/1 | |
| listen_port/1 | |
| match_port/1 | |
| messages/0 | |
| name/0 | |
| opts_from_socket/2 | |
| peername/1 | |
| proxyname/1 | |
| recv/3 | |
| secure/0 | |
| send/2 | |
| sendfile/2 | |
| sendfile/4 | |
| sendfile/5 | |
| setopts/2 | |
| shutdown/2 | |
| sockname/1 | |
| ssl_connection_information/1 | Expose SSL-only options regarding the current live SSL connection for introspection purposes. |
| ssl_connection_information/2 |
accept(Ssl_socket::proxy_socket(), Timeout::timeout()) -> {ok, ssl_socket()} | {error, closed | timeout | not_proxy_protocol | closed_on_ssl_accept | {timeout, proxy_handshake} | atom()}
accept_ack(CSocket::ssl_socket(), Timeout::timeout()) -> ok
bearer_port(Ssl_socket::ssl_socket()) -> port()
close(Ssl_socket::ssl_socket()) -> ok
connect(Host::inet:ip_address() | inet:hostname(), Port::inet:port_number(), Opts::any()) -> {ok, ssl_socket()} | {error, atom()}
connect(Host::inet:ip_address() | inet:hostname(), Port::inet:port_number(), Opts::any(), ProxyOpts::proxy_opts()) -> {ok, ssl_socket()} | {error, atom()}
connection_info(Ssl_socket::ssl_socket()) -> {ok, list()}
connection_info(Ssl_socket::ssl_socket(), Items::[protocol | cipher_suite | sni_hostname]) -> {ok, list()}
controlling_process(Ssl_socket::ssl_socket(), Pid::pid()) -> ok | {error, closed | not_owner | atom()}
get_csocket(Ssl_socket::ssl_socket()) -> port()
getopts(Ssl_socket::ssl_socket(), Opts::[atom()]) -> {ok, list()} | {error, atom()}
getstat(Ssl_socket::ssl_socket()) -> {ok, list()} | {error, atom()}
getstat(Ssl_socket::ssl_socket(), OptionNames::[atom()]) -> {ok, list()} | {error, atom()}
handshake(Ssl_socket::ssl_socket(), Opts::list(), Timeout::timeout()) -> {ok, ssl_socket()} | {error, any()}
listen(Opts::ranch_ssl:opts()) -> {ok, ssl_socket()} | {error, atom()}
listen_port(Ssl_socket::ssl_socket()) -> port()
match_port(Ssl_socket) -> any()
messages() -> tuple()
name() -> atom()
opts_from_socket(Transport::atom(), Socket::ssl_socket()) -> ranch_proxy_protocol:proxy_opts()
peername(Ssl_socket::ssl_socket()) -> {ok, {inet:ip_address(), inet:port_number()}} | {error, atom()}
proxyname(Ssl_socket::ssl_socket()) -> {ok, proxy_protocol_info()}
recv(Ssl_socket::ssl_socket(), Length::non_neg_integer(), Timeout::timeout()) -> {ok, any()} | {error, closed | atom()}
secure() -> boolean()
send(Ssl_socket::ssl_socket(), Packet::iodata()) -> ok | {error, atom()}
sendfile(SslSocket::ssl_socket(), Filename::file:name_all()) -> {ok, non_neg_integer()} | {error, atom()}
sendfile(SslSocket::ssl_socket(), File::file:name_all() | file:fd(), Offset::non_neg_integer(), Bytes::non_neg_integer()) -> {ok, non_neg_integer()} | {error, atom()}
sendfile(Ssl_socket::ssl_socket(), Filename::file:name_all() | file:fd(), Offset::non_neg_integer(), Bytes::non_neg_integer(), Opts::[{chunk_size, non_neg_integer()}]) -> {ok, non_neg_integer()} | {error, atom()}
setopts(Ssl_socket::ssl_socket(), Opts::list()) -> ok | {error, atom()}
shutdown(Ssl_socket::ssl_socket(), How::read | write | read_write) -> ok | {error, atom()}
sockname(Ssl_socket::ssl_socket()) -> {ok, {inet:ip_address(), inet:port_number()}} | {error, atom()}
ssl_connection_information(Socket::ssl_socket()) -> {ok, list()}
Expose SSL-only options regarding the current live SSL connection for introspection purposes. This callback does not make sense for others protocols of this library, since non-SSL connections should have none of this information within them.
It is therefore distinct fromconnection_info/1-2 whose purpose is
to extract PROXY-level information, whereas this is a tunnel to
ssl:connection_information/1-2, which contains SSL-level protocol data.
ssl_connection_information(Socket::ssl_socket(), Items::[protocol | cipher_suite | sni_hostname]) -> {ok, list()}
Generated by EDoc