查看源码 snmpm_network_interface 行为 (snmp v5.18)
SNMP 管理器网络接口的行为模块。
此模块定义了管理器网络接口的行为。一个符合 snmpm_network_interface
的模块必须导出以下函数
start_link/2
stop/1
send_pdu/7
inform_response/4
note_store/2
info/1
get_log_type/1
set_log_type/2
verbosity/2
它们的语义和确切签名将在下面解释。
出于向后兼容的原因,旧版 API 函数 send_pdu/7
仍然像以前一样工作,它有单独的 IpAddr
和 PortNumber
参数。
摘要
回调
审计跟踪日志由网络接口进程管理。因此,这个进程必须返回实际的日志类型。
返回的信息基本上由实现者决定。此应用程序提供的实现提供了关于内存分配和各种套接字信息的信息。
指示网络接口进程发送对 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
标记)。
-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。
Addr
和 Port
标识 inform 请求的来源代理。
更改 note-store 进程的 pid。这在服务器重启 note-store
时使用(例如在崩溃后)。
-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
进程包含在此应用程序中,它会忽略它。
-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
。
-callback start_link(Server, NoteStore) -> {ok, Pid} | {error, Reason} when Server :: pid(), NoteStore :: pid(), Pid :: pid(), Reason :: term().
启动链接网络接口进程。
Server
是管理进程的 pid。
NoteStore
是 note-store
进程的 pid。
停止网络接口进程。
-callback verbosity(Pid, Verbosity) -> snmp:void() when Pid :: pid(), Verbosity :: snmp:verbosity().
更改网络接口进程的详细程度。