You've already forked tribes-plugin-sender
forked from tribes/tribes-plugin-template
f8e2bfaada
Move Sender modules under TribeOne.TribesPlugin.Sender and replace the Aether-specific chat integration with the public chat@1 surface contract.
43 lines
1.4 KiB
Elixir
43 lines
1.4 KiB
Elixir
defmodule TribeOne.TribesPlugin.Sender.Application do
|
|
@moduledoc """
|
|
OTP Application for this plugin.
|
|
|
|
Uncomment the `mod:` entry in mix.exs to activate this supervision tree.
|
|
Add plugin-specific GenServers, workers, or supervisors as children here.
|
|
"""
|
|
|
|
use Application
|
|
|
|
@doc false
|
|
def children do
|
|
[
|
|
TribeOne.TribesPlugin.Sender.Stats,
|
|
TribeOne.TribesPlugin.Sender.SnapshotWorker,
|
|
TribeOne.TribesPlugin.Sender.HLSCleanup,
|
|
{Registry, keys: :unique, name: TribeOne.TribesPlugin.Sender.MediaSessionRegistry},
|
|
Supervisor.child_spec(
|
|
{DynamicSupervisor,
|
|
strategy: :one_for_one, name: TribeOne.TribesPlugin.Sender.MediaSessionSupervisor},
|
|
id: TribeOne.TribesPlugin.Sender.MediaSessionSupervisor
|
|
),
|
|
Supervisor.child_spec(
|
|
{DynamicSupervisor,
|
|
strategy: :one_for_one, name: TribeOne.TribesPlugin.Sender.MediaBackendSupervisor},
|
|
id: TribeOne.TribesPlugin.Sender.MediaBackendSupervisor
|
|
),
|
|
Supervisor.child_spec(
|
|
{DynamicSupervisor,
|
|
strategy: :one_for_one, name: TribeOne.TribesPlugin.Sender.HLSReadinessSupervisor},
|
|
id: TribeOne.TribesPlugin.Sender.HLSReadinessSupervisor
|
|
),
|
|
TribeOne.TribesPlugin.Sender.EdgeSessionReconciler
|
|
]
|
|
end
|
|
|
|
@impl true
|
|
def start(_type, _args) do
|
|
opts = [strategy: :one_for_one, name: TribeOne.TribesPlugin.Sender.Supervisor]
|
|
Supervisor.start_link(children(), opts)
|
|
end
|
|
end
|