Packages

MTProto (Telegram) implementation for Elixir.

Retired package: Deprecated - This package is not maintained anymore.

Current section

Files

Jump to
telegram_mt lib mtproto session supervisor.ex
Raw

lib/mtproto/session/supervisor.ex

defmodule MTProto.Session.Supervisor do
alias MTProto.Session
use Supervisor
@moduledoc false
@name __MODULE__
def start_link do
Supervisor.start_link(__MODULE__, :ok, name: @name)
end
def init(_) do
children = [
supervisor(MTProto.Session.Workers.Supervisor, [], restart: :transient)
]
supervise(children, strategy: :simple_one_for_one)
end
def create(session_id) do
Supervisor.start_child(@name, [session_id])
end
def destroy(session_id) do
session = Session.get(session_id)
Supervisor.terminate_child @name, session.listener
end
end