在线文档教程
Erlang 20

snmpm_user

snmpm_user

模块

snmpm_user

模块摘要

SNMP管理器用户的行为模块。

描述

该模块定义了管理员用户的行为。一个snmpm_user兼容的模块必须导出以下功能:

  • handle_error/3

  • handle_agent/4

  • handle_pdu/4

  • handle_trap/3

  • handle_inform/3

  • handle_report/3

  • handle_invalid_result / 2它们的语义和它们的确切签名在下面解释。有些函数没有定义的返回值(void()),它们当然可以返回任何东西。但是具有指定返回值的函数必须坚持这一点。没有一个函数可以使用throw返回。如果管理器没有配置为使用任何特定的传输域,那么handle_agent/4为了向后兼容的原因将与旧的IpAddr和旧的一起调用该行为PortNumberargumentsData typessnmp_gen_info()= {ErrorStatus :: atom(),ErrorIndex :: pos_integer(),Varbinds :: [snmp:varbind()]} snmp_v1_trap_info():: {Enteprise :: snmp:oid(),Generic :: integer (),Spec :: integer(),Timestamp :: integer(),Varbinds :: [snmp:varbind()]}导出handle_error(ReqId, Reason, UserData) -> void()类型当管理器需要向用户传递“异步”错误时调用此函数:例如失败发送异步消息(即,编码错误),由于安全错误而丢弃接收到的消息,管理器未能生成对接收到的通知请求的响应消息,或者当从代理接收到意外的PDU时(可能过期异步请求)。如果ReqId小于0时,表示该信息对经理不可用(信息在丢弃前从未检索到)。对于SnmpInfo见下文handle_agent。handle_agent(Domain, Addr, Type, SnmpInfo, UserData) -> Reply类型从未知代理收到消息时调用此函数。请注意,这将始终是被调用的默认用户。有关详细信息agent_config(),请参阅register_agent参数Type并按SnmpInfo以下方式关联:

  • pdu- SnmpPduInfo(详情请参阅handle_pdu)。

  • trap- SnmpTrapInfo(详情请参阅handle_trap)。

  • report- SnmpReportInfo(详情请参阅handle_report)。

  • inform- SnmpInformInfo(详情请参阅handle_inform)。

唯一会返回{register, UserId, TargetName, AgentConfig}用户默认用户

handle_pdu(TargetName, ReqId, SnmpPduInfo, UserData) -> void()

类型

处理的回复的异步请求,诸如async_getasync_get_nextasync_set

它也可能是对同步请求的延迟回复。

ReqId 由异步请求函数返回。

handle_trap(TargetName, SnmpTrapInfo, UserData) -> Reply

类型

处理来自代理的陷阱/通知消息。

有关更多信息agent_config(),请参阅register_agent

唯一会返回{register, UserId, TargetName2, agent_info()}用户默认用户

handle_inform(TargetName, SnmpInformInfo, UserData) -> Reply

类型

处理通知消息。

有关agent_config(),见register_agent

唯一会返回{register, UserId, TargetName2, AgentConfig}用户默认用户

如果inform request behaviour配置选项设置为user{user, integer()},则此函数返回时将发送对此通知请求的响应(确认)。

handle_report(TargetName, SnmpReportInfo, UserData) -> Reply

类型

处理报告消息。

有关更多信息agent_config(),请参阅register_agent

唯一会返回{register, UserId, TargetName2, AgentConfig}用户默认用户

handle_invalid_result(IN, OUT) -> void()

类型

如果任何其他的回调函数崩溃(退出,抛出或纯崩溃)或返回无效的结果(如果已指定一个有效的回报),这个函数被调用。目的是让用户处理这个错误(例如发出错误报告)。

IN表示称为的函数(及其参数)。OUT代表意外/无效的结果。