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_get
,async_get_next
或async_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
代表意外/无效的结果。