Session objects
The Session class, once instantiated, represents a virtual connection
to the peername. The methods described below, represent SNMP
commands as well as convenience methods, to help in dealing with the
MIB trees and tables.
When supplying miboid to get(), getnext(),
getbulk() and set(), you can supply as many valid
MIBOIDs as you want (as strings). Either you can pass a list or a
tuple of MIBOIDs, or simply pass them as multiple arguments to the
methods. In both cases, all MIBOIDs you provide will be bundled in the
same PDU, and thus in one single packet. If you exceed the maximum
size of the PDU (which depends on the MTU), either on the outgoing
packet or on the response incoming packet, the GetError
exception will be raised. The methods will return a tuple with the
results of the respective SNMP commands, in the same order you
provided them. Note: if you provide only one miboid to
get(), getnext() and set(), the result will
not be a tuple, unless you provide the single argument as a one
element list or tuple.
A Session instance has the following methods:
- get(miboid, [miboid, ...])
- Performs an SNMP GET. The result for each miboid
corresponds to a string.
- getnext(miboid, [miboid, ...])
- Performs an SNMP GETNEXT. The result for each miboid is
a tuple containing two strings.
- getbulk(miboid, [miboid, ...],
[non_repeaters=non_repeaters,
[max_repetitions=max_repetitions]]))
- Performs an SNMP GETBULK. The result is a tuple of tuples
(containing the string pair). The optional parameter
non_repeaters, allows you to specify how many of the
miboids you provide as argument, should be treated as a
GETNEXT (returning only the next MIBOID), and defaults to 0. The
max_repetitions argument allows you to specify how many
MIBOIDs follow the miboids given as arguments, and
defaults to 100.
- set(miboid, [miboid, ...])
- Performs an SNMP SET. The input arguments miboid must
be a list or tuple, containing two strings, the first
corresponding to the MIBOID, and the second representing the
value you wish to set it to. You can provide as many
miboid tuples as you wish. The result is the same as
with the getnext() method.
- walk(miboid)
- Walk is not an SNMP command. You supply one miboid to
this method, and it will return a tuple of tuples containing the
whole MIB tree corresponding to that miboid. If the
class was instantiated to use SNMP version 2c or higher, the
GETBULK command will be used instead of GETNEXT, to drastically
reduce the number of packets required to obtain the tree, and
thus substantially increase performance.
- table(miboid)
- Supply this method with a miboid corresponding to a
table, and it will return you a tuple of dictionaries
representing the table. The tuple represents the rows (for each
instance), and the dictonary has keys corresponding to the
various MIBOIDs composing that table, with the values being the
returned values from the actual query.
Yves Perrenoud (yves@njc.ch)