檢視原始程式碼 Phoenix.PubSub.Adapter 行為 (Phoenix.PubSub v2.1.3)

實作自訂 PubSub adapter 的規範。

連結至本節 總覽

回呼

將指定的 topic、訊息和調度器廣播至叢集中的所有節點(不包括當前節點本身)。

傳回用於掛載 adapter 所需處理程序的子規格。

將指定的 topic、訊息和調度器廣播至叢集中的指定節點(可能指向自身)。

傳回節點名稱為原子或二進制。

連結至本節 類型

@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()}

將指定的 topic、訊息和調度器廣播至叢集中的所有節點(不包括當前節點本身)。

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

傳回用於掛載 adapter 所需處理程序的子規格。

child_spec 會接收 Phoenix.PubSub 提供的所有選項。但請注意,選項中 :name 是整個 PubSub 系統的名稱。adapter 要使用的保留鍵值空間會放在 :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()}

將指定的 topic、訊息和調度器廣播至叢集中的指定節點(可能指向自身)。

@callback node_name(adapter_name()) :: Phoenix.PubSub.node_name()

傳回節點名稱為原子或二進制。