Sippet v0.6.2 Sippet.Transports.Plug behaviour View Source

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.

Link to this section 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

Link to this section Types

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

Link to this type

remote_host() View Source
remote_host() :: binary()

The remote host address to send the message

Link to this type

remote_port() View Source
remote_port() :: integer()

The remote port to send the message

Link to this section Callbacks

Link to this callback

reliable?() View Source
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.

Link to this callback

send_message(arg0, remote_host, remote_port, key) View Source
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.

Invoked to start listening for datagrams or connections.