Phoenix.PubSub.Local
PubSub implementation for handling local-node process groups.
This module is used by Phoenix pubsub adapters to handle
their local node subscriptions and it is usually not accessed
directly. See Phoenix.PubSub.PG2
for an example integration.
Summary↑
broadcast(local_server, from, topic, msg) | Sends a message to all subscribers of a topic |
start_link(server_name) | Starts the server |
subscribe(local_server, pid, topic, opts \\ []) | Subscribes the pid to the topic |
subscribers(local_server, topic) | Returns a set of subscribers pids for the given topic |
unsubscribe(local_server, pid, topic) | Unsubscribes the pid from the topic |
Functions
Sends a message to all subscribers of a topic.
local_server
- The registered server name or pidtopic
- The string topic, ie “users:123”
Examples
iex> broadcast(:local_server, self, "foo")
:ok
iex> broadcast(:local_server, :none, "bar")
:no_topic
Starts the server.
server_name
- The name to register the server under
Subscribes the pid to the topic.
local_server
- The registered server name or pidpid
- The subscriber pidtopic
- The string topic, ie “users:123”opts
- The optional list of options. Supported options only include:link
to link the subscriber to local
Examples
iex> subscribe(:local_server, self, "foo")
:ok
Returns a set of subscribers pids for the given topic.
local_server
- The registered server name or pidtopic
- The string topic, ie “users:123”
Examples
iex> subscribers(:local_server, "foo")
Enumerable.t
Unsubscribes the pid from the topic.
local_server
- The registered server name or pidpid
- The subscriber pidtopic
- The string topic, ie “users:123”
Examples
iex> unsubscribe(:local_server, self, "foo")
:ok