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

SNMP 代理 MIB 存储的行为模块。

此模块定义了 SNMP 代理 MIB 存储的行为。

代理使用 MIB 存储来存储内部 MIB 相关信息。MIB 存储模块被多个实体使用,而不仅仅是 MIB 服务器。

符合 snmpa_mib_storage 规范的模块必须导出以下函数

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

概要

回调:回调函数

执行 MIB 存储表的备份。

关闭 MIB 存储表。

删除整个 MIB 存储表。

从 MIB 存储表中删除一条记录。

检索依赖于实现的 MIB 存储表信息。

在 MIB 存储表中搜索与指定模式匹配的记录,然后将其删除。返回已删除的记录。

在 MIB 存储表中搜索与指定模式匹配的记录。

创建或打开一个 MIB 存储表。

从 MIB 存储表中读取一条记录。

同步 MIB 存储表。

以列表的形式返回 MIB 存储表中的所有记录。

向 MIB 存储表写入一条记录。

类型

链接到此类型

mib_storage_fields()

查看源代码 (自 OTP R16B01 起)
-type mib_storage_fields() :: [atom()].
链接到此类型

mib_storage_table_id()

查看源代码 (自 OTP R16B01 起)
-type mib_storage_table_id() :: term().
链接到此类型

mib_storage_table_type()

查看源代码 (自 OTP R16B01 起)
-type mib_storage_table_type() :: set | bag.

回调:回调函数

链接到此回调

backup(TabId, Dir)

查看源代码 (自 OTP R16B01 起)
-callback backup(TabId :: mib_storage_table_id(), Dir :: file:filename()) -> ok | {error, Reason :: term()}.

执行 MIB 存储表的备份。

这表示什么,如果有的话,取决于具体的实现。

链接到此回调

close(TabId)

查看源代码 (自 OTP R16B01 起)
-callback close(TabId :: mib_storage_table_id()) -> term().

关闭 MIB 存储表。

链接到此回调

delete(TabId)

查看源代码 (自 OTP R16B01 起)
-callback delete(TabId :: mib_storage_table_id()) -> snmp:void().

删除整个 MIB 存储表。

链接到此回调

delete(TabId, Key)

查看源代码 (自 OTP R16B01 起)
-callback delete(TabId :: mib_storage_table_id(), Key :: term()) -> ok | {error, Reason :: term()}.

从 MIB 存储表中删除一条记录。

链接到此回调

info(TabId)

查看源代码 (自 OTP R16B01 起)
-callback info(TabId :: mib_storage_table_id()) -> Info :: term().

检索依赖于实现的 MIB 存储表信息。

链接到此回调

info(TabId, Item)

查看源代码 (自 OTP R16B01 起)
-callback info(TabId :: mib_storage_table_id(), Item :: atom()) -> Info :: term().
链接到此回调

match_delete(TabId, Pattern)

查看源代码 (自 OTP R16B01 起)
-callback match_delete(TabId :: mib_storage_table_id(), Pattern :: ets:match_pattern()) ->
                          Recs :: [tuple()] | {error, Reason :: term()}.

在 MIB 存储表中搜索与指定模式匹配的记录,然后将其删除。返回已删除的记录。

链接到此回调

match_object(TabId, Pattern)

查看源代码 (自 OTP R16B01 起)
-callback match_object(TabId :: mib_storage_table_id(), Pattern :: ets:match_pattern()) ->
                          Recs :: [tuple()] | {error, Reason :: term()}.

在 MIB 存储表中搜索与指定模式匹配的记录。

链接到此回调

open(Name, RecName, Fields, Type, Options)

查看源代码 (自 OTP R16B01 起)
-callback open(Name :: atom(),
               RecName :: atom(),
               Fields :: mib_storage_fields(),
               Type :: mib_storage_table_type(),
               Options :: list()) ->
                  {ok, TabId :: mib_storage_table_id()} | {error, Reason :: term()}.

创建或打开一个 MIB 存储表。

请注意,并非所有实现都可能使用 RecordNameFields 参数(它们实际上仅在基于 mnesia 的实现中需要)。

另请注意,Options 参数来自 MIB 存储配置选项的 options 配置选项,并按原样传递。

链接到此回调

read(TabId, Key)

查看源代码 (自 OTP R16B01 起)
-callback read(TabId :: mib_storage_table_id(), Key :: term()) -> false | {value, Record :: tuple()}.

从 MIB 存储表中读取一条记录。

链接到此回调

sync(TabId)

查看源代码 (自 OTP R16B01 起)
-callback sync(TabId :: mib_storage_table_id()) -> snmp:void().

同步 MIB 存储表。

这表示什么,如果有的话,取决于具体的实现。

链接到此回调

tab2list(TabId)

查看源代码 (自 OTP R16B01 起)
-callback tab2list(TabId :: mib_storage_table_id()) -> [tuple()].

以列表的形式返回 MIB 存储表中的所有记录。

链接到此回调

write(TabId, Record)

查看源代码 (自 OTP R16B01 起)
-callback write(TabId :: mib_storage_table_id(), Record :: tuple()) -> ok | {error, Reason :: term()}.

向 MIB 存储表写入一条记录。