Yggdrasil v4.1.4 Yggdrasil.Subscriber.Manager View Source

Manages subscription to a channel.

Link to this section Summary

Functions

Adds a pid to the channel

Returns a specification to start this module under a supervisor

Reports the connection of the adapter

Reports the disconnection of the adapter

Removes a pid from the channel

Starts a manager with a channel

Stops a manager with an optional reason

Whether the pid is subscribed or not to the channel

Link to this section Types

Link to this type t() View Source
t() :: %Yggdrasil.Subscriber.Manager{
  cache: reference(),
  channel: Yggdrasil.Channel.t(),
  status: atom()
}

Link to this section Functions

Link to this function add(channel, pid) View Source
add(Yggdrasil.Channel.t(), pid()) :: :ok | {:error, term()}

Adds a pid to the channel.

Returns a specification to start this module under a supervisor.

See Supervisor.

Reports the connection of the adapter.

Reports the disconnection of the adapter.

Link to this function remove(channel, pid) View Source
remove(Yggdrasil.Channel.t(), pid()) :: :ok | {:error, term()}

Removes a pid from the channel.

Link to this function start_link(channel, options \\ []) View Source
start_link(channel :: Yggdrasil.Channel.t(), GenServer.options()) ::
  GenServer.on_start()

Starts a manager with a channel.

Link to this function stop(manager, reason \\ :normal) View Source
stop(GenServer.name(), term()) :: :ok

Stops a manager with an optional reason.

Link to this function subscribed?(channel, pid \\ nil) View Source
subscribed?(Yggdrasil.Channel.t(), pid()) :: boolean()

Whether the pid is subscribed or not to the channel.