Yggdrasil.Subscriber.Manager (Yggdrasil v6.0.0) 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

Specs

t() :: %Yggdrasil.Subscriber.Manager{
  cache: reference(),
  channel: Yggdrasil.Channel.t(),
  status: atom()
}

Link to this section Functions

Specs

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.

Specs

remove(Yggdrasil.Channel.t(), pid()) :: :ok | {:error, term()}

Removes a pid from the channel.

Link to this function

start_link(channel, options \\ [])

View Source

Specs

start_link(channel :: Yggdrasil.Channel.t(), options :: GenServer.options()) ::
  GenServer.on_start()

Starts a manager with a channel.

Link to this function

stop(manager, reason \\ :normal)

View Source

Specs

stop(GenServer.name(), term()) :: :ok

Stops a manager with an optional reason.

Link to this function

subscribed?(channel, pid \\ nil)

View Source

Specs

subscribed?(Yggdrasil.Channel.t(), nil | pid()) :: boolean()

Whether the pid is subscribed or not to the channel.