diff options
author | Micael Karlberg <[email protected]> | 2019-03-21 15:23:35 +0100 |
---|---|---|
committer | Micael Karlberg <[email protected]> | 2019-03-28 17:14:56 +0100 |
commit | 1b581f323eb740c054c5055602e7263b7463ffb1 (patch) | |
tree | 8baadca09e93eb6ee2a30efe6f2361731a21c527 /lib/snmp/src/agent/snmpa_get_mechanism.erl | |
parent | c733d7360045270a5d61d7b7a577abb88fa7fd66 (diff) | |
download | otp-1b581f323eb740c054c5055602e7263b7463ffb1.tar.gz otp-1b581f323eb740c054c5055602e7263b7463ffb1.tar.bz2 otp-1b581f323eb740c054c5055602e7263b7463ffb1.zip |
[snmp|agent] Add the get-mechanism behaviour
Added preliminary version of the get-mechanism behaviour.
OTP-15691
Diffstat (limited to 'lib/snmp/src/agent/snmpa_get_mechanism.erl')
-rw-r--r-- | lib/snmp/src/agent/snmpa_get_mechanism.erl | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/lib/snmp/src/agent/snmpa_get_mechanism.erl b/lib/snmp/src/agent/snmpa_get_mechanism.erl new file mode 100644 index 0000000000..1a2133778e --- /dev/null +++ b/lib/snmp/src/agent/snmpa_get_mechanism.erl @@ -0,0 +1,58 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2019-2019. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%% +%% %CopyrightEnd% +%% + +-module(snmpa_get_mechanism). + +%% +%% This module defines the behaviour for the undocumented (hidden) +%% get-mechanism feature. This allows for implementing your own +%% handling of get, get-next and get-bulk requests. +%% Probably only useful for special cases (optimization). +%% + + + +%% ----------- do_get/3 ----------------------------------------------------- + +-callback do_get(MibView :: snmp_view_based_acm_mib:mibview(), + VBs :: [snmp:varbind()], + IsNotification :: boolean()) -> + {noError, 0, ResVBs :: [snmp:varbind()]} | + {ErrStatus :: snmp:error_status(), ErrIndex :: snmp:error_index(), []}. + + +%% ----------- do_get_next/2 ------------------------------------------------ + +-callback do_get_next(MibView :: snmp_view_based_acm_mib:mibview(), + VBs :: [snmp:varbind()]) -> + {noError, 0, ResVBs :: [snmp:varbind()]} | + {ErrStatus :: snmp:error_status(), ErrIndex :: snmp:error_index(), []}. + + +%% ----------- do_get_bulk/6 ------------------------------------------------ + +-callback do_get_bulk(MibView :: snmp_view_based_acm_mib:mibview(), + NonRepeaters :: non_neg_integer(), + MaxRepetitions :: non_neg_integer(), + PduMS :: pos_integer(), + VBs :: [snmp:varbind()], + MaxVBs :: pos_integer()) -> + {noError, 0, ResVBs :: [snmp:varbind()]} | + {ErrStatus :: snmp:error_status(), ErrIndex :: snmp:error_index(), []}. |