Module smtp_socket

Facilitates transparent gen_tcp/ssl socket handling.

Description

Facilitates transparent gen_tcp/ssl socket handling

Data Types

address()

address() = inet:ip_address() | string() | binary()

protocol()

protocol() = tcp | ssl

socket()

socket() = ssl:sslsocket() | gen_tcp:socket()

Function Index

accept/1
accept/2
active_once/1
begin_inet_async/1{inet_async,...} will be sent to current process when a client connects.
close/1
connect/3
connect/4
connect/5
controlling_process/2
extract_port_from_socket/1
get_proto/1
handle_inet_async/1handle the {inet_async,...} message.
handle_inet_async/2
handle_inet_async/3
listen/2
listen/3
peername/1
recv/2
recv/3
send/2
setopts/2
shutdown/2
to_ssl_client/1
to_ssl_client/2
to_ssl_client/3
to_ssl_server/1Upgrade a TCP connection to SSL.
to_ssl_server/2
to_ssl_server/3
type/1

Function Details

accept/1

accept(Socket::socket()) -> {ok, socket()} | {error, any()}

accept/2

accept(Socket::socket(), Timeout::pos_integer() | infinity) -> {ok, socket()} | {error, any()}

active_once/1

active_once(Socket::socket()) -> ok | {error, any()}

begin_inet_async/1

begin_inet_async(Socket::socket()) -> any()

{inet_async,...} will be sent to current process when a client connects

close/1

close(Socket::socket()) -> ok

connect/3

connect(Protocol::protocol(), Address::address(), Port::pos_integer()) -> {ok, socket()} | {error, any()}

connect/4

connect(Protocol::protocol(), Address::address(), Port::pos_integer(), Options::list()) -> {ok, socket()} | {error, any()}

connect/5

connect(Protocol::protocol(), Address::address(), Port::pos_integer(), Options::list(), Time::non_neg_integer() | infinity) -> {ok, socket()} | {error, any()}

controlling_process/2

controlling_process(Socket::socket(), NewOwner::pid()) -> ok | {error, any()}

extract_port_from_socket/1

extract_port_from_socket(Socket::socket()) -> port()

get_proto/1

get_proto(Socket::any()) -> tcp | ssl

handle_inet_async/1

handle_inet_async(Message::{inet_async, socket(), any(), {ok, socket()}}) -> {ok, socket()}

handle the {inet_async,...} message

handle_inet_async/2

handle_inet_async(ListenSocket::socket(), ClientSocket::socket()) -> {ok, socket()}

handle_inet_async/3

handle_inet_async(ListenSocket::socket(), ClientSocket::socket(), Options::list()) -> {ok, socket()}

listen/2

listen(Protocol::protocol(), Port::pos_integer()) -> {ok, socket()} | {error, any()}

listen/3

listen(Protocol::protocol(), Port::pos_integer(), Options::list()) -> {ok, socket()} | {error, any()}

peername/1

peername(Socket::socket()) -> {ok, {inet:ip_address(), non_neg_integer()}} | {error, any()}

recv/2

recv(Socket::socket(), Length::non_neg_integer()) -> {ok, any()} | {error, any()}

recv/3

recv(Socket::socket(), Length::non_neg_integer(), Timeout::non_neg_integer() | infinity) -> {ok, any()} | {error, any()}

send/2

send(Socket::socket(), Data::binary() | string() | iolist()) -> ok | {error, any()}

setopts/2

setopts(Socket::socket(), Options::list()) -> ok | {error, any()}

shutdown/2

shutdown(Socket::socket(), How::read | write | read_write) -> ok | {error, any()}

to_ssl_client/1

to_ssl_client(Socket::socket()) -> {ok, ssl:sslsocket()} | {error, already_ssl}

to_ssl_client/2

to_ssl_client(Socket::socket(), Options::list()) -> {ok, ssl:sslsocket()} | {error, already_ssl}

to_ssl_client/3

to_ssl_client(Socket::socket(), Options::list(), Timeout::non_neg_integer() | infinity) -> {ok, ssl:sslsocket()} | {error, already_ssl}

to_ssl_server/1

to_ssl_server(Socket::socket()) -> {ok, ssl:sslsocket()} | {error, any()}

Upgrade a TCP connection to SSL

to_ssl_server/2

to_ssl_server(Socket::socket(), Options::list()) -> {ok, ssl:sslsocket()} | {error, any()}

to_ssl_server/3

to_ssl_server(Socket::socket(), Options::list(), Timeout::non_neg_integer() | infinity) -> {ok, ssl:sslsocket()} | {error, any()}

type/1

type(Socket::socket()) -> protocol()


Generated by EDoc