View Source Membrane.TCP.Sink (Membrane TCP plugin v0.6.0)

Element that sends buffers received on the input pad over a TCP socket.

Element options

Passed via struct Membrane.TCP.Sink.t/0

  • connection_side

    :server
    | :client
    | {:client, server_address :: :inet.ip_address(), server_port_no :: :inet.port_number()}

    Required
    Determines whether this element will operate like a server or a client when establishing TCP connection. In case of client-side connection server address and port number are required, unless local_socket is provided.

  • local_address

    :inet.socket_address()

    Default value: :any
    An IP Address from which the socket will connect or will listen on. It allows to choose which network interface to use if there's more than one.

  • local_port_no

    :inet.port_number()

    Default value: 0
    A TCP port number used when connecting to a listening socket or starting a listening socket. If not specified any free port is chosen.

  • local_socket

    :gen_tcp.socket() | nil

    Default value: nil
    Already connected TCP socket, if provided it will be used instead of creating and connecting a new one.

  • close_on_eos

    boolean()

    Default value: true
    Automatically close connection on end-of-stream.

  • on_connection_closed

    :raise_error | :drop_buffers

    Default value: :raise_error
    Defines behavior for handling buffers if connection is unexpectedly closed:

    • :raise_error - Raise an error when writing to a closed socket.
    • :drop_buffers - Drop buffers if socket is closed.

Pads

:input

Accepted formats:

_any
Direction::input
Availability::always
Flow control::auto

Summary

Types

t()

Struct containing options for Membrane.TCP.Sink

Functions

Returns description of options available for this module

Types

@type t() :: %Membrane.TCP.Sink{
  close_on_eos: boolean(),
  connection_side:
    :server
    | :client
    | {:client, server_address :: :inet.ip_address(),
       server_port_no :: :inet.port_number()},
  local_address: :inet.socket_address(),
  local_port_no: :inet.port_number(),
  local_socket: :gen_tcp.socket() | nil,
  on_connection_closed: :raise_error | :drop_buffers
}

Struct containing options for Membrane.TCP.Sink

Functions

@spec options() :: keyword()

Returns description of options available for this module