Commit Graph

40 Commits (0c0d054e8e949cf7645fd3fe26640ee52893f18a)

Author SHA1 Message Date
Ilya Etingof 0c0d054e8e
Refactor MIB state machine into asynchronous operations (#210)
Convert to async MIB instrumentation API (#210)

MIB instrumentation API changed to allow for asynchronous
managed objects access. The MIB instrumentation methods
called by the state machine now return immediately and
resume once the callback is called.

The built-in SNMPv2-SMI objects are still synchronous.

This change is a prerequisite for fully asynchronous managed objects
implementation.
2018-10-24 10:14:33 +02:00
Ilya Etingof 534a5bb810
Convert to async MIB instrumentation API (#209)
MIB instrumentation API changed to allow for asynchronous
managed objects access. Although built-in SNMPv2-SMI objects
are still synchronous, the MIB instrumentation API is async
what allows users to replace default MIB instrumentation
with their own, potentially asynchronous.

CommandResponder refactored to facilitate asynchronous
MIB instrumentation routines. The `readVars`, `readNextVars`
and `writeVars` MIB controller methods return immediately and
deliver their results via a call back.

SMI/MIB managed objects API overhauled for simplicity and
flexibility breaking backward compatibility.
2018-10-13 20:21:31 +02:00
Ilya Etingof da4539e34c
Overhaul SMI/MIB instrumentation API (#161)
Overhaul SMI/MIB instrumentation API

SMI/MIB managed objects API overhauled for simplicity and
flexibility breaking backward compatibility.

This change would allow way more control over custom MIB
managed objects and also is the prerequisite for
asynchronous MIB instrumentation.
2018-06-30 20:14:57 +02:00
Ilya Etingof 0ab27d2c38 copyright notice extended 2018-01-03 13:33:05 +01:00
Ilya Etingof 5f7e552690
migrated references from SourceForge (#110) 2017-11-17 11:01:14 +01:00
Ilya Etingof d5b3c90d29 email changed, copyright extended to the year 2017 2017-01-12 01:05:56 +01:00
Ilya Etingof 91a1292067 converted to new-style classes 2016-06-12 14:07:24 +02:00
Ilya Etingof aa91642cc3 pep8 reformatted 2016-04-05 23:06:55 +02:00
elie c50fe2a466 copyright updated 2015-12-29 20:34:33 +00:00
elie 87a7a35d1e copyright notice added to source code 2015-11-20 20:57:28 +00:00
elie 9c369ee7eb unused variables dropped 2015-10-18 09:56:56 +00:00
elie a46f37c265 linted for bad-whitespace and some other issues 2015-10-17 20:22:30 +00:00
elie 9e73d5b89c linted the bad-continuation issue as well as some others 2015-10-17 19:14:29 +00:00
elie 7ebcb3d0c1 multiple-statements-in-one-line linted out 2015-10-17 15:34:21 +00:00
elie 71dd5565a4 linted for trailing whitespaces 2015-10-17 09:54:53 +00:00
elie e7afecac21 use format_exception() 2013-06-11 20:00:11 +00:00
elie 7fdc1203fc FSM exception handling reworked 2013-06-11 06:41:54 +00:00
elie ec8b127d86 do not re-raise exceptions with original traceback as it breaks
py3k compatibility
instead log the original traceback into debug routine
2013-06-10 15:56:16 +00:00
elie 394d8d9c24 exception re-raising improved at MibInstrumController.flipFlopFsm() so
that original traceback is preserved.
2013-06-10 14:25:47 +00:00
elie 3b9c11ead7 SMI exceptions are supposed to carry indices of failed var-bind component 2012-12-13 17:02:41 +00:00
elie 6ba6788229 - AbstractMibInstrumController class added as a base class for all possible
kinds of Management Instrumentation controllers
- MibInstrumController.getMibBuilder() added
2012-12-02 15:00:06 +00:00
elie b2ccb9fef0 use %r for printing out [possibly uninitialized] pyasn1 objects 2012-07-18 09:24:25 +00:00
elie 4efd787948 the obsolete and unpublished MibInstrumController.readVarsFast() method
removed for API clarity
2012-07-16 16:53:07 +00:00
elie 26194012c0 preserve original traceback on py3 2011-12-24 07:04:06 +00:00
elie a9039c5b2d whilst on Py3, reraise exceptions with the original traceback 2011-12-23 15:10:34 +00:00
elie 0df571a7b1 exlicit repr() calls replaced with '%r' 2011-11-08 15:04:59 +00:00
elie f0406dd01c major overhawl aimed at Python 2.4 through 3.2 compatibility 2011-11-06 20:37:09 +00:00
elie 817a46fba3 introduce the MibInstrumControlle.readVarsFast() method (which skips
the "testing" phase of MIB value readin) for dealing with internal
configuration (LCD) for performance reasons
bInstrumControllerCVS: Committing in .
2011-01-20 17:34:59 +00:00
elie 2d34d4d970 all dict.has_key() & dict.get() invocations replaced with modern syntax
(this breaks compatibility with Python 2.1 and older).
2011-01-20 17:11:43 +00:00
elie c9d1804b09 repr() potentially uninitialized pyasn1 values in debug printout
to avoid uninitialized value access exception
2010-06-25 21:45:04 +00:00
elie 71292e6d4a MIB symbols unexport feature re-worked 2009-05-18 16:26:19 +00:00
elie 2a7d612451 last change breaks configuration management, temporarly rolling back 2009-05-03 11:57:02 +00:00
elie f10098a338 fix to make the unexportSymbols() method working 2009-05-03 11:41:45 +00:00
elie e22986c578 fix to formatting params in debug 2006-09-18 21:44:28 +00:00
elie f4acbcf39c debugging added 2006-09-06 16:41:47 +00:00
elie 12c627ee9b Sort MIB modules by name to give user a chance to slip-in a
custom MIB modules (that would sorted out first)
2005-10-26 22:33:23 +00:00
elie 40052730f2 adjusted to re-worked SMI model 2005-10-26 21:34:08 +00:00
elie f501ae3ed5 converted to changed pyasn1 behaviour -- asn1 objects now hashes to their
python value
2005-06-27 07:40:51 +00:00
elie b6541b6239 access control callback function & context now passed to SMI objects 2005-06-14 10:16:05 +00:00
elie 5895190d84 Moved from the top-level under the roof of v4 API 2004-11-12 14:21:27 +00:00