查看源代码 snmpa_network_interface 行为 (snmp v5.18)
SNMP 代理网络接口的行为模块。
此模块定义了代理网络接口的行为。一个符合 snmpa_network_interface
的模块必须导出以下函数
start_link/4
info/1
get_log_type/1
set_log_type/2
verbosity/2
它们的语义和确切签名将在下面解释。
但这还不够。还有一组强制消息,网络接口实体必须能够接收和发送。这在snmp_agent_netif章节中描述。
摘要
回调
审计跟踪日志由网络接口进程管理。因此,必须由这个进程检索实际的日志类型。
请求限制是代理将接受的并发请求数。此函数检索当前值。
返回的信息基本上取决于实现者来决定。此应用程序提供的实现提供了关于内存分配和各种套接字的信息。
审计跟踪日志由网络接口进程管理。因此,必须由这个进程执行类型的实际更改。
请求限制是代理将接受的并发请求数。此函数设置一个新值。
启动链接网络接口进程。
更改正在运行的网络接口进程的详细程度。
回调
-callback get_log_type(Pid) -> {ok, LogType} | {error, Reason} when Pid :: pid(), LogType :: snmp:atl_type(), Reason :: term().
审计跟踪日志由网络接口进程管理。因此,必须由这个进程检索实际的日志类型。
-callback get_request_limit(Pid) -> {ok, Limit} when Pid :: pid(), Limit :: non_neg_integer() | infinity.
请求限制是代理将接受的并发请求数。此函数检索当前值。
-callback info(Pid) -> Info when Pid :: pid(), Info :: [{Key, Value}], Key :: term(), Value :: term().
返回的信息基本上取决于实现者来决定。此应用程序提供的实现提供了关于内存分配和各种套接字的信息。
此函数返回的信息与代理在调用 info/1
函数时收集的其他信息一起返回(用键 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().
审计跟踪日志由网络接口进程管理。因此,必须由这个进程执行类型的实际更改。
有关更多信息,请参见 snmpa:set_log_type/2
。
-callback set_request_limit(Pid, NewLimit) -> {ok, OldLimit} when Pid :: pid(), NewLimit :: non_neg_integer() | infinity, OldLimit :: non_neg_integer() | infinity.
请求限制是代理将接受的并发请求数。此函数设置一个新值。
-callback start_link(Prio, NoteStore, MasterAgent, Opts) -> {ok, Pid} | {error, Reason} when Prio :: low | normal | high, NoteStore :: pid(), MasterAgent :: pid(), Opts :: [Option], Option :: {verbosity, snmp:verbosity()} | {versions, [snmp:version()]} | term(), Pid :: pid(), Reason :: term().
启动链接网络接口进程。
NoteStore
是 note-store 进程的 pid,MasterAgent
是 master-agent 进程的 pid。
Opts
是(基本上)依赖于网络接口进程实现的选项列表。但是,有一些选项必须处理:versions
和 verbosity
。
-callback verbosity(Pid, Verbosity) -> snmp:void() when Pid :: pid(), Verbosity :: snmp:verbosity().
更改正在运行的网络接口进程的详细程度。