Module libp2p_transport_tcp

Behaviours: libp2p_connection.

Data Types

listen_opt()


listen_opt() = {backlog, non_neg_integer()} | {buffer, non_neg_integer()} | {delay_send, boolean()} | {dontroute, boolean()} | {exit_on_close, boolean()} | {fd, non_neg_integer()} | {high_msgq_watermark, non_neg_integer()} | {high_watermark, non_neg_integer()} | {keepalive, boolean()} | {linger, {boolean(), non_neg_integer()}} | {low_msgq_watermark, non_neg_integer()} | {low_watermark, non_neg_integer()} | {nodelay, boolean()} | {port, inet:port_number()} | {priority, integer()} | {raw, non_neg_integer(), non_neg_integer(), binary()} | {recbuf, non_neg_integer()} | {send_timeout, timeout()} | {send_timeout_close, boolean()} | {sndbuf, non_neg_integer()} | {tos, integer()}

opt()


opt() = {listen, [listen_opt()]}

tcp_state()


tcp_state() = #tcp_state{addr_info = {string(), string()}, socket = gen_tcp:socket(), session = pid() | undefined, transport = atom()}

Function Index

acknowledge/2
addr_info/1
close/1
close_state/1
common_options/0
connect/5
controlling_process/2
fdclr/1
fdset/1
handle_call/3
handle_cast/2
handle_info/2
init/1
is_public/1
match_addr/1
match_addr/2
new_connection/1
new_connection/2
recv/3
rfc1918/1
send/3
session/1
set_idle_timeout/2
socket/1
sort_addrs/1
start_link/1
start_listener/2
tcp_addr/1
terminate/2
to_multiaddr/1

Function Details

acknowledge/2


acknowledge(Tcp_state::tcp_state(), Ref::reference()) -> ok


addr_info/1


addr_info(Tcp_state::tcp_state()) -> {string(), string()}


close/1


close(Tcp_state::tcp_state()) -> ok


close_state/1


close_state(Tcp_state::tcp_state()) -> open | closed


common_options/0


common_options() -> [term()]


connect/5


connect(Pid::pid(), MAddr::string(), Options::libp2p_swarm:connect_opts(), Timeout::pos_integer(), TID::ets:tab()) -> {ok, pid()} | {error, term()}


controlling_process/2


controlling_process(State::tcp_state(), Pid::pid()) -> {ok, tcp_state()} | {error, closed | not_owner | atom()}


fdclr/1


fdclr(Tcp_state::tcp_state()) -> ok


fdset/1


fdset(Tcp_state::tcp_state()) -> ok | {error, term()}


handle_call/3

handle_call(Msg, From, State) -> any()

handle_cast/2

handle_cast(Msg, State) -> any()

handle_info/2

handle_info(Msg, State) -> any()

init/1

init(X1) -> any()

is_public/1


is_public(Address::string()) -> boolean()


match_addr/1


match_addr(Addr::string()) -> {ok, string()} | false


match_addr/2


match_addr(Addr::string(), TID::ets:tab()) -> {ok, string()} | false


new_connection/1


new_connection(Socket::inet:socket()) -> libp2p_connection:connection()


new_connection/2


new_connection(Socket::inet:socket(), PeerName::string()) -> libp2p_connection:connection()


recv/3


recv(Tcp_state::tcp_state(), Length::non_neg_integer(), Timeout::pos_integer()) -> {ok, binary()} | {error, term()}


rfc1918/1

rfc1918(IP) -> any()

send/3


send(Tcp_state::tcp_state(), Data::iodata(), Timeout::non_neg_integer()) -> ok | {error, term()}


session/1


session(Tcp_state::tcp_state()) -> {ok, pid()} | {error, term()}


set_idle_timeout/2


set_idle_timeout(Tcp_state::tcp_state(), Timeout::pos_integer() | infinity) -> ok | {error, term()}


socket/1


socket(Tcp_state::tcp_state()) -> gen_tcp:socket()


sort_addrs/1


sort_addrs(Addrs::[string()]) -> [{integer(), string()}]


start_link/1

start_link(TID) -> any()

start_listener/2


start_listener(Pid::pid(), Addr::string()) -> {ok, [string()], pid()} | {error, term()}


tcp_addr/1


tcp_addr(MAddr::string() | multiaddr:multiaddr()) -> {inet:ip_address(), non_neg_integer(), inet | inet6, [any()]} | {error, term()}


terminate/2

terminate(Reason, State) -> any()

to_multiaddr/1

to_multiaddr(X1) -> any()