檢視原始碼 snmpa_notification_delivery_info_receiver 行為 (snmp v5.18)

SNMP Agent 通知傳遞資訊接收器的行為模組。

此模組定義通知傳遞資訊接收器的行為。

當使用者傳送通知(請參閱 snmpa:send_notification2/3)時,使用者可以(選擇性地)選擇接收傳遞資訊(訊息是否被目標接收並確認)。此行為描述使用者取得此類(傳遞)資訊的方式。

符合 snmpa_notification_delivery_info_receiver 的模組必須匯出以下函式

它們的語義和確切簽名將在下面說明。

舊版通知傳遞資訊接收器模組使用 {IpAddr, PortNumber} 格式的 target 參數,而不是 {Domain, Addr}。如果 SNMP Agent 在未變更組態以使用傳輸網域的情況下執行,通知傳遞資訊接收器仍會接收舊的參數並像以前一樣工作。

摘要

類型

連結到此類型

notification_delivery_info()

檢視原始碼
-type notification_delivery_info() ::
          #snmpa_notification_delivery_info{tag :: term(), mod :: term(), extra :: term()}.

應如何報告(通知)傳遞資訊。

此紀錄定義與通知傳遞資訊相關的資訊。也就是說,當傳送 inform 時,關於傳遞的資訊(例如是否已確認)將使用此紀錄中的資訊傳遞。

傳遞將根據以下方式執行

	Mod:delivery_targets(Tag, Addresses, Extra)
	Mod:delivery_info(Tag, Address, DeliveryResult, Extra)

Extra 是由使用者提供的任何 term。

此紀錄的欄位具有以下含義

  • tag = term() - 由使用者選擇用於識別此傳送的值

  • mod = module() - 實作 snmpa_notification_delivery_info_receiver 行為的模組。

  • extra = term() - 這是當呼叫回呼模組中的函式時,使用者希望提供的任何額外資訊。在呼叫傳送函式時提供。

連結到此類型

transportAddressWithPort()

檢視原始碼 (未匯出)
-type transportAddressWithPort() :: snmpa_conf:transportAddressWithPort().
連結到此類型

transportDomain()

檢視原始碼 (未匯出)
-type transportDomain() :: snmpa_conf:transportDomain().

回呼

連結到此回呼

delivery_info(Tag, Targets, DeliveryResult, Extra)

檢視原始碼
-callback delivery_info(Tag, Targets, DeliveryResult, Extra) -> snmp:void()
                           when
                               Tag :: term(),
                               Targets :: [Target],
                               Target :: {transportDomain(), transportAddressWithPort()},
                               DeliveryResult :: no_response | got_response,
                               Extra :: term().

告知傳遞結果。

對於 delivery_targets/3 函式中 Targets 參數的每個目標,都會呼叫此函式,請參閱上方。

目的是告知 receiver 每個目標的傳遞結果(通知是否已確認)。

連結到此回呼

delivery_targets(Tag, Targets, Extra)

檢視原始碼
-callback delivery_targets(Tag, Targets, Extra) -> snmp:void()
                              when
                                  Tag :: term(),
                                  Targets :: [Target],
                                  Target :: {transportDomain(), transportAddressWithPort()},
                                  Extra :: term().

告知目標位址。

這是通知傳遞正在進行時呼叫的第一個函式。它會告知 receiver 哪些目標將收到通知。傳遞的結果將透過連續呼叫 delivery_info/4 函式來提供,請參閱下方。