Sippet v0.4.9 Sippet.Transports.Plug behaviour

A behaviour module for implementing Sippet network transport protocols.

A Sippet.Transports.Plug behavior module is started and supervised by the Sippet.Transports module at initialization.

Summary

Types

A transaction key, which can be also nil when there’s no transaction

The remote host address to send the message

The remote port to send the message

Callbacks

Invoked to check if this connection is reliable (connection-oriented). If false then the Sippet.Transactions has to retransmit requests or handle request retransmissions

Invoked to send a message to the network. If any error occur while sending the message, and the transaction is not nil, the transaction should be informed so by calling error/2

Invoked to start listening for datagrams or connections

Types

A transaction key, which can be also nil when there’s no transaction

remote_host()
remote_host() :: binary

The remote host address to send the message

remote_port()
remote_port() :: integer

The remote port to send the message

Callbacks

reliable?()
reliable?() :: boolean

Invoked to check if this connection is reliable (connection-oriented). If false then the Sippet.Transactions has to retransmit requests or handle request retransmissions.

send_message(arg0, remote_host, remote_port, key)
send_message(Sippet.Message.t, remote_host, remote_port, key) ::
  :ok |
  {:error, reason :: term}

Invoked to send a message to the network. If any error occur while sending the message, and the transaction is not nil, the transaction should be informed so by calling error/2.

start_link()
start_link() :: GenServer.on_start

Invoked to start listening for datagrams or connections.