yggdrasil v3.3.0 Yggdrasil.Distributor.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

Removes a pid from the channel

Starts a manager with an initial pid and 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.Distributor.Manager{
  cache: reference(),
  channel: Yggdrasil.Channel.t()
}

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.

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, pid, options \\ []) View Source

Starts a manager with an initial pid and 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.