yggdrasil v3.3.1 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
start_link(Yggdrasil.Channel.t(), pid(), GenServer.options()) :: GenServer.on_start()
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
.