查看源代码 Phoenix.PubSub.Adapter 行为 (Phoenix.PubSub v2.1.3)

实现自定义 PubSub 适配器的规范。

链接到此部分 概述

回调

将给定的主题、消息和调度器广播到集群中的所有节点(除了当前节点本身)。

返回一个子规格,该规格会挂载适配器所需的进程。

将给定的主题、消息和调度器广播到集群中的给定节点(它可能指向自身)。

将节点名称作为原子或二进制返回。

链接到此部分 类型

@type adapter_name() :: atom()

链接到此部分 回调

链接到此回调

broadcast( adapter_name, topic, message, dispatcher )

查看源代码
@callback broadcast(
  adapter_name(),
  topic :: Phoenix.PubSub.topic(),
  message :: Phoenix.PubSub.message(),
  dispatcher :: Phoenix.PubSub.dispatcher()
) :: :ok | {:error, term()}

将给定的主题、消息和调度器广播到集群中的所有节点(除了当前节点本身)。

@callback child_spec(keyword()) :: Supervisor.child_spec()

返回一个子规格,该规格会挂载适配器所需的进程。

child_spec 将接收所有传递给 Phoenix.PubSub 的选项。但是请注意,选项下的 :name 是整个 PubSub 系统的名称。适配器要使用的保留键空间位于 :adapter_name 键下。

链接到此回调

direct_broadcast( adapter_name, node_name, topic, message, dispatcher )

查看源代码
@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()}

将给定的主题、消息和调度器广播到集群中的给定节点(它可能指向自身)。

链接到此回调

node_name(adapter_name)

查看源代码
@callback node_name(adapter_name()) :: Phoenix.PubSub.node_name()

将节点名称作为原子或二进制返回。