View Source Phoenix.PubSub.Adapter behaviour (Phoenix.PubSub v2.1.3)
Specification to implement a custom PubSub adapter.
Link to this section Summary
Callbacks
Broadcasts the given topic, message, and dispatcher to all nodes in the cluster (except the current node itself).
Returns a child specification that mounts the processes required for the adapter.
Broadcasts the given topic, message, and dispatcher to given node in the cluster (it may point to itself).
Returns the node name as an atom or a binary.
Link to this section Types
@type adapter_name() :: atom()
Link to this section Callbacks
@callback broadcast( adapter_name(), topic :: Phoenix.PubSub.topic(), message :: Phoenix.PubSub.message(), dispatcher :: Phoenix.PubSub.dispatcher() ) :: :ok | {:error, term()}
Broadcasts the given topic, message, and dispatcher to all nodes in the cluster (except the current node itself).
@callback child_spec(keyword()) :: Supervisor.child_spec()
Returns a child specification that mounts the processes required for the adapter.
child_spec
will receive all options given Phoenix.PubSub
.
Note, however, that the :name
under options is the name
of the complete PubSub system. The reserved key space to
be used by the adapter is under the :adapter_name
key.
direct_broadcast( adapter_name, node_name, topic, message, dispatcher )
View Source@callback direct_broadcast( adapter_name(), node_name :: Phoenix.PubSub.node_name(), topic :: Phoenix.PubSub.topic(), message :: Phoenix.PubSub.message(), dispatcher :: Phoenix.PubSub.dispatcher() ) :: :ok | {:error, term()}
Broadcasts the given topic, message, and dispatcher to given node in the cluster (it may point to itself).
@callback node_name(adapter_name()) :: Phoenix.PubSub.node_name()
Returns the node name as an atom or a binary.