Module xmpp_socket

This module defines the xmpp_socket behaviour.
Required callback functions: send_xml/2, get_owner/1, get_transport/1, change_shaper/2, controlling_process/2, close/1, sockname/1, peername/1, setopts/2.

Data Types

endpoint()

endpoint() = {inet:ip_address(), inet:port_number()}

ext_mod()

ext_mod() = module()

ext_socket()

ext_socket() = any()

socket()

socket() = inet:socket() | fast_tls:tls_socket() | ezlib:zlib_socket() | ext_socket()

socket_state()

socket_state() = #socket_state{sockmod = sockmod(), socket = socket(), max_stanza_size = timeout(), xml_stream = undefined | fxml_stream:xml_stream_state(), shaper = none | p1_shaper:state(), sock_peer_name = none | {endpoint(), endpoint()}}

sockmod()

sockmod() = gen_tcp | fast_tls | ezlib | ext_mod()

stream_element()

stream_element() = {xmlstreamelement, fxml:xmlel()} | {xmlstreamstart, binary(), [{binary(), binary()}]} | {xmlstreamend, binary()} | {xmlstreamraw, iodata()}

Function Index

activate/1
change_shaper/2
close/1
compress/1
compress/2
connect/3
connect/4
connect/5
get_peer_certificate/2
get_sockmod/1
get_transport/1
get_verify_result/1
monitor/1
new/3
peername/1
pp/1
recv/2
reset_stream/1
send/2
send_element/2
send_header/2
send_trailer/1
send_ws_ping/1
send_xml/2
sockname/1
starttls/2

Function Details

activate/1

activate(Socket_state) -> any()

change_shaper/2

change_shaper(Socket_state::socket_state(), Shaper::none | p1_shaper:state()) -> socket_state()

close/1

close(Socket_state) -> any()

compress/1

compress(SocketData) -> any()

compress/2

compress(Socket_state, Data) -> any()

connect/3

connect(Addr, Port, Opts) -> any()

connect/4

connect(Addr, Port, Opts, Timeout) -> any()

connect/5

connect(Addr, Port, Opts, Timeout, Owner) -> any()

get_peer_certificate/2

get_peer_certificate(SocketData, Type) -> any()

get_sockmod/1

get_sockmod(SocketData) -> any()

get_transport/1

get_transport(Socket_state) -> any()

get_verify_result/1

get_verify_result(SocketData) -> any()

monitor/1

monitor(Socket_state) -> any()

new/3

new(SockMod::sockmod(), Socket::socket(), Opts::[proplists:property()]) -> socket_state()

peername/1

peername(Socket_state::socket_state()) -> {ok, endpoint()} | {error, inet:posix()}

pp/1

pp(Socket_state) -> any()

recv/2

recv(Socket_state, Data) -> any()

reset_stream/1

reset_stream(Socket_state) -> any()

send/2

send(Socket_state::socket_state(), Data::iodata()) -> ok | {error, closed | inet:posix()}

send_element/2

send_element(Socket_state::socket_state(), El::fxml:xmlel()) -> ok | {error, inet:posix()}

send_header/2

send_header(Socket_state::socket_state(), El::fxml:xmlel()) -> ok | {error, inet:posix()}

send_trailer/1

send_trailer(Socket_state::socket_state()) -> ok | {error, inet:posix()}

send_ws_ping/1

send_ws_ping(Socket_state::socket_state()) -> ok | {error, inet:posix()}

send_xml/2

send_xml(Socket_state::socket_state(), El::stream_element()) -> ok | {error, any()}

sockname/1

sockname(Socket_state::socket_state()) -> {ok, endpoint()} | {error, inet:posix()}

starttls/2

starttls(Socket_state::socket_state(), TLSOpts::[proplists:property()]) -> {ok, socket_state()} | {error, inet:posix() | atom() | binary()}


Generated by EDoc