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.
Optional callback functions: get_peer_certificate/2.

Data Types

cert()

cert() = #'Certificate'{} | #'OTPCertificate'{}

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()}, tls_certfile = none | binary()}

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
finish_tls_handshake/1
get_negotiated_cipher/1
get_peer_certificate/2
get_sockmod/1
get_tls_cb_exporter/1
get_tls_cert_hash/1
get_tls_last_message/2
get_transport/1
get_verify_result/1
monitor/1
new/3
peername/1
pp/1
recv/2
release/1
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()

finish_tls_handshake/1

finish_tls_handshake(Socket_state::socket_state()) -> {ok, socket_state()} | {error, inet:posix() | atom() | binary()}

get_negotiated_cipher/1

get_negotiated_cipher(Socket_state::socket_state()) -> {ok, binary()} | error

get_peer_certificate/2

get_peer_certificate(Socket_state::socket_state(), Type::plain | otp) -> {ok, cert()} | error

get_peer_certificate(Socket_state::socket_state(), Type::der) -> {ok, binary()} | error

get_sockmod/1

get_sockmod(SocketData) -> any()

get_tls_cb_exporter/1

get_tls_cb_exporter(Socket_state::socket_state()) -> {ok, binary()} | {error, term()}

get_tls_cert_hash/1

get_tls_cert_hash(Socket_state::socket_state()) -> {ok, binary()} | error

get_tls_last_message/2

get_tls_last_message(Socket_state::socket_state(), Type::peer | self) -> {ok, binary()} | {error, term()}

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()

release/1

release(Socket_state) -> 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