查看源码 snmpm_network_interface 行为 (snmp v5.18)

SNMP 管理器网络接口的行为模块。

此模块定义了管理器网络接口的行为。一个符合 snmpm_network_interface 的模块必须导出以下函数

它们的语义和确切签名将在下面解释。

出于向后兼容的原因,旧版 API 函数 send_pdu/7 仍然像以前一样工作,它有单独的 IpAddrPortNumber 参数。

摘要

回调

审计跟踪日志由网络接口进程管理。因此,这个进程必须返回实际的日志类型。

返回的信息基本上由实现者决定。此应用程序提供的实现提供了关于内存分配和各种套接字信息的信息。

指示网络接口进程发送对 inform 请求的响应(确认)。

更改 note-store 进程的 pid。这在服务器重启 note-store 时使用(例如在崩溃后)。

请求网络接口进程 (Pid) 发送此 pdu (Pdu)。

审计跟踪日志由网络接口进程管理。因此,这个进程必须进行实际的类型更改。

启动链接网络接口进程。

停止网络接口进程。

更改网络接口进程的详细程度。

回调

-callback get_log_type(Pid) -> {ok, LogType} | {error, Reason}
                          when Pid :: pid(), LogType :: snmp:atl_type(), Reason :: term().

审计跟踪日志由网络接口进程管理。因此,这个进程必须返回实际的日志类型。

-callback info(Pid) -> Info when Pid :: pid(), Info :: [{Key, Value}], Key :: term(), Value :: term().

返回的信息基本上由实现者决定。此应用程序提供的实现提供了关于内存分配和各种套接字信息的信息。

此函数返回的信息与管理器在调用 snmpm:info() 函数时收集的其他信息一起返回(用键 net_if 标记)。

链接到此回调

inform_response(Pid, Ref, Addr, Port)

查看源码
-callback inform_response(Pid, Ref, Addr, Port) -> snmp:void()
                             when
                                 Pid :: pid(),
                                 Ref :: term(),
                                 Addr :: inet:ip_address(),
                                 Port :: inet:port_number().

指示网络接口进程发送对 inform 请求的响应(确认)。

Ref 是可用于标识 inform 请求的内容,例如 inform 请求的请求 ID。

AddrPort 标识 inform 请求的来源代理。

链接到此回调

note_store(Pid, NoteStore)

查看源码
-callback note_store(Pid, NoteStore) -> snmp:void() when Pid :: pid(), NoteStore :: pid().

更改 note-store 进程的 pid。这在服务器重启 note-store 时使用(例如在崩溃后)。

链接到此回调

send_pdu(Pid, Pdu, Vsn, MsgData, Domain, Addr, ExtraInfo)

查看源码
-callback send_pdu(Pid, Pdu, Vsn, MsgData, Domain, Addr, ExtraInfo) -> snmp:void()
                      when
                          Pid :: pid(),
                          Pdu :: snmp:pdu(),
                          Vsn :: 'version-1' | 'version-2' | 'version-3',
                          MsgData :: term(),
                          Domain :: snmp:tdomain(),
                          Addr :: {inet:ip_address(), inet:port_number()},
                          ExtraInfo :: term().

请求网络接口进程 (Pid) 发送此 pdu (Pdu)。

ExtraInfo 是传递给 net-if 进程的一些不透明数据。它来自对 同步 get 请求异步 get 请求同步 get-next 请求异步 get-next 请求同步 set 请求异步 set 请求 函数的调用中的 ExtraInfo 参数。 net-if 进程是否选择使用它是依赖于实现的。net-if 进程包含在此应用程序中,它会忽略它。

链接到此回调

set_log_type(Pid, NewType)

查看源码
-callback set_log_type(Pid, NewType) -> {ok, OldType} | {error, Reason}
                          when
                              Pid :: pid(),
                              NewType :: snmp:atl_type(),
                              OldType :: snmp:atl_type(),
                              Reason :: term().

审计跟踪日志由网络接口进程管理。因此,这个进程必须进行实际的类型更改。

有关更多信息,请参见 snmpm:set_log_type/1

链接到此回调

start_link(Server, NoteStore)

查看源码
-callback start_link(Server, NoteStore) -> {ok, Pid} | {error, Reason}
                        when Server :: pid(), NoteStore :: pid(), Pid :: pid(), Reason :: term().

启动链接网络接口进程。

Server 是管理进程的 pid。

NoteStorenote-store 进程的 pid。

-callback stop(Pid) -> snmp:void() when Pid :: pid().

停止网络接口进程。

链接到此回调

verbosity(Pid, Verbosity)

查看源码
-callback verbosity(Pid, Verbosity) -> snmp:void() when Pid :: pid(), Verbosity :: snmp:verbosity().

更改网络接口进程的详细程度。