Packages
membrane_rtc_engine
0.12.0
0.25.0
0.24.0
0.23.0
0.22.0
0.21.0
0.20.0
0.19.0
0.18.0
0.17.1
0.17.0
0.16.0
0.15.1
0.15.0
0.14.2
0.14.1
0.14.0
0.13.0
0.12.1
0.12.0
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.0
0.6.0
0.5.1
0.5.0
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.0
0.1.0
0.1.0-alpha.2
0.1.0-alpha.1
0.1.0-alpha
Membrane RTC Engine and its client library
Current section
Files
Jump to
Current section
Files
lib/membrane_rtc_engine/subscription.ex
defmodule Membrane.RTC.Engine.Subscription do
@moduledoc false
# Module representing subscription for track
alias Membrane.RTC.Engine
alias Membrane.RTC.Engine.{Endpoint, Track}
@typedoc """
* `endpoint_id` - id of endpoint making subscription
* `track_id` - id of track endpoint subscribes for
* `status` - status of subscription. Subscription is
`active` when track some endpoint subscribed for is linked
to this endpoint and `pending` otherwise
* `opts` - additional options
"""
@type t() :: %__MODULE__{
endpoint_id: Endpoint.id(),
track_id: Track.id(),
status: :pending | :active,
opts: Engine.subscription_opts_t()
}
@enforce_keys [:endpoint_id, :track_id]
defstruct @enforce_keys ++ [status: :pending, opts: []]
end