The module option makes it possible for the user to provide
their own callback module. The functions receive_message/4 or
process_received_message/4 of this module is called when a new
message is received (which one depends on the size of the message;
small - receive_message, large - process_received_message).
Default value is megaco.

close(Handle, Msg) -> ok

Handle = socket_handle()

Msg

This function is used for closing an active UDP socket.

socket(Handle) -> Socket

Handle = socket_handle()

Socket = inet_socket()

This function is used to convert a socket_handle() to
a inet_socket(). inet_socket() is a plain socket,
see the inet module for more info.

create_send_handle(Handle, Host, Port) -> send_handle()

Handle = socket_handle()

Host = {A,B,C,D} | string()

Port = integer()

Creates a send handle from a transport handle. The send
handle is intended to be used by megaco_udp:send_message/2.

send_message(SendHandle, Msg) -> ok

SendHandle = send_handle()

Message = binary() | iolist()

Sends a message on a socket. The send handle is obtained by
megaco_udp:create_send_handle/3. Increments the NumOutMessages
and NumOutOctets counters if message successfully sent. In case
of a failure to send, the NumErrors counter is not
incremented. This is done elsewhere in the megaco app.

block(Handle) -> ok

Handle = socket_handle()

Stop receiving incoming messages on the socket.

unblock(Handle) -> ok

Handle = socket_handle()

Starting to receive incoming messages from the socket again.

upgrade_receive_handle(ControlPid, NewHandle) -> ok

ControlPid = pid()

NewHandle = receive_handle()

receive_handle() = term()

Update the receive handle of the control process (e.g. after
having changed protocol version).