diff options
Diffstat (limited to 'docs/source/examples/v3arch/asyncio')
8 files changed, 196 insertions, 0 deletions
diff --git a/docs/source/examples/v3arch/asyncio/agent/cmdrsp/snmp-versions.rst b/docs/source/examples/v3arch/asyncio/agent/cmdrsp/snmp-versions.rst new file mode 100644 index 0000000..b067178 --- /dev/null +++ b/docs/source/examples/v3arch/asyncio/agent/cmdrsp/snmp-versions.rst @@ -0,0 +1,16 @@ +.. toctree:: + :maxdepth: 2 + +Various SNMP versions +---------------------- + +.. include:: /../../examples/v3arch/asyncio/agent/cmdrsp/v3-multiple-users.py + :start-after: """ + :end-before: """# + +.. literalinclude:: /../../examples/v3arch/asyncio/agent/cmdrsp/v3-multiple-users.py + :start-after: """# + :language: python + +:download:`Download</../../examples/v3arch/asyncio/agent/cmdrsp/v3-multiple-users.py>` script. + diff --git a/docs/source/examples/v3arch/asyncio/agent/ntforg/common-notifications.rst b/docs/source/examples/v3arch/asyncio/agent/ntforg/common-notifications.rst new file mode 100644 index 0000000..0e1ff6e --- /dev/null +++ b/docs/source/examples/v3arch/asyncio/agent/ntforg/common-notifications.rst @@ -0,0 +1,26 @@ +.. toctree:: + :maxdepth: 2 + +Common notifications +-------------------- + +.. include:: /../../examples/v3arch/asyncio/agent/ntforg/trap-v1.py + :start-after: """ + :end-before: """# + +.. literalinclude:: /../../examples/v3arch/asyncio/agent/ntforg/trap-v1.py + :start-after: """# + :language: python + +:download:`Download</../../examples/v3arch/asyncio/agent/ntforg/trap-v1.py>` script. + +.. include:: /../../examples/v3arch/asyncio/agent/ntforg/inform-v3.py + :start-after: """ + :end-before: """# + +.. literalinclude:: /../../examples/v3arch/asyncio/agent/ntforg/inform-v3.py + :start-after: """# + :language: python + +:download:`Download</../../examples/v3arch/asyncio/agent/ntforg/inform-v3.py>` script. + diff --git a/docs/source/examples/v3arch/asyncio/contents.rst b/docs/source/examples/v3arch/asyncio/contents.rst new file mode 100644 index 0000000..c668f2f --- /dev/null +++ b/docs/source/examples/v3arch/asyncio/contents.rst @@ -0,0 +1,63 @@ + +SNMP with Asynio +================ + +Python 3.4 introduced a new module - `asyncio <https://docs.python.org/3/library/asyncio.html>`_ (former Tulip, +PEP 3156) featuring infrastructure for writing single-threaded concurrent +code using coroutines, multiplexing I/O access over sockets and other +resources. + +PySNMP library was originally built on top of Python's asynchronous I/O +library called asyncio. The asyncio module offers similar functionality +but uses much more modern and powerful language facilities. Functionally, +asyncio can replace asyncio in PySNMP however its use requires understanding +the concepts such as coroutines and generators. If your task is to embed SNMP +stack into an existing asyncio-based app, using PySNMP's asyncio interfaces +greatly simplifies the task. + +Older applications (Python 2.6+) can alternatively use +`Trollius <http://trollius.readthedocs.org/>`_ instead of asyncio. Trollius +is a backport of asyncio so it `supports </examples/current/v3arch/trollius/index.html>`_ nearly the same API as asyncio. Full support of both modules is +built into pysnmp. + +All SNMP-related functionality of Native PySNMP API to Standard SNMP +Applications (`RFC3413 <https://tools.ietf.org/html/rfc3413>`_) +remains available to asyncio-backed applications. + +Command Generator Applications +------------------------------ + +.. toctree:: + + /examples/v3arch/asyncio/manager/cmdgen/snmp-versions + /examples/v3arch/asyncio/manager/cmdgen/modifying-variables + /examples/v3arch/asyncio/manager/cmdgen/walking-operations + /examples/v3arch/asyncio/manager/cmdgen/transport-tweaks + + +Command Responder Applications +------------------------------ + +.. toctree:: + + /examples/v3arch/asyncio/agent/cmdrsp/snmp-versions + +Notification Originator Applications +------------------------------------ + +.. toctree:: + + /examples/v3arch/asyncio/agent/ntforg/common-notifications + + +Notification Receiver Applications +---------------------------------- + +.. toctree:: + + /examples/v3arch/asyncio/manager/ntfrcv/transport-tweaks + +For more details on PySNMP programming model and interfaces, please +refer to the documentation + + diff --git a/docs/source/examples/v3arch/asyncio/manager/cmdgen/modifying-variables.rst b/docs/source/examples/v3arch/asyncio/manager/cmdgen/modifying-variables.rst new file mode 100644 index 0000000..b148147 --- /dev/null +++ b/docs/source/examples/v3arch/asyncio/manager/cmdgen/modifying-variables.rst @@ -0,0 +1,16 @@ +.. toctree:: + :maxdepth: 2 + +Modifying values +---------------- + +.. include:: /../../examples/v3arch/asyncio/manager/cmdgen/set-v2c.py + :start-after: """ + :end-before: """# + +.. literalinclude:: /../../examples/v3arch/asyncio/manager/cmdgen/set-v2c.py + :start-after: """# + :language: python + +:download:`Download</../../examples/v3arch/asyncio/manager/cmdgen/set-v2c.py>` script. + diff --git a/docs/source/examples/v3arch/asyncio/manager/cmdgen/snmp-versions.rst b/docs/source/examples/v3arch/asyncio/manager/cmdgen/snmp-versions.rst new file mode 100644 index 0000000..e525dbc --- /dev/null +++ b/docs/source/examples/v3arch/asyncio/manager/cmdgen/snmp-versions.rst @@ -0,0 +1,16 @@ +.. toctree:: + :maxdepth: 2 + +Various SNMP versions +---------------------- + +.. include:: /../../examples/v3arch/asyncio/manager/cmdgen/get-v2c-custom-timeout.py + :start-after: """ + :end-before: """# + +.. literalinclude:: /../../examples/v3arch/asyncio/manager/cmdgen/get-v2c-custom-timeout.py + :start-after: """# + :language: python + +:download:`Download</../../examples/v3arch/asyncio/manager/cmdgen/get-v2c-custom-timeout.py>` script. + diff --git a/docs/source/examples/v3arch/asyncio/manager/cmdgen/transport-tweaks.rst b/docs/source/examples/v3arch/asyncio/manager/cmdgen/transport-tweaks.rst new file mode 100644 index 0000000..48aae2d --- /dev/null +++ b/docs/source/examples/v3arch/asyncio/manager/cmdgen/transport-tweaks.rst @@ -0,0 +1,16 @@ +.. toctree:: + :maxdepth: 2 + +Transport tweaks +---------------- + +.. include:: /../../examples/v3arch/asyncio/manager/cmdgen/get-v2c-over-ipv6.py + :start-after: """ + :end-before: """# + +.. literalinclude:: /../../examples/v3arch/asyncio/manager/cmdgen/get-v2c-over-ipv6.py + :start-after: """# + :language: python + +:download:`Download</../../examples/v3arch/asyncio/manager/cmdgen/get-v2c-over-ipv6.py>` script. + diff --git a/docs/source/examples/v3arch/asyncio/manager/cmdgen/walking-operations.rst b/docs/source/examples/v3arch/asyncio/manager/cmdgen/walking-operations.rst new file mode 100644 index 0000000..52f3ed7 --- /dev/null +++ b/docs/source/examples/v3arch/asyncio/manager/cmdgen/walking-operations.rst @@ -0,0 +1,27 @@ +.. toctree:: + :maxdepth: 2 + +Walking operations +------------------ + +.. include:: /../../examples/v3arch/asyncio/manager/cmdgen/getnext-v2c-from-specific-address.py + :start-after: """ + :end-before: """# + +.. literalinclude:: /../../examples/v3arch/asyncio/manager/cmdgen/getnext-v2c-from-specific-address.py + :start-after: """# + :language: python + +:download:`Download</../../examples/v3arch/asyncio/manager/cmdgen/getnext-v2c-from-specific-address.py>` script + + +.. include:: /../../examples/v3arch/asyncio/manager/cmdgen/getbulk-v2c.py + :start-after: """ + :end-before: """# + +.. literalinclude:: /../../examples/v3arch/asyncio/manager/cmdgen/getbulk-v2c.py + :start-after: """# + :language: python + +:download:`Download</../../examples/v3arch/asyncio/manager/cmdgen/getbulk-v2c.py>` script + diff --git a/docs/source/examples/v3arch/asyncio/manager/ntfrcv/transport-tweaks.rst b/docs/source/examples/v3arch/asyncio/manager/ntfrcv/transport-tweaks.rst new file mode 100644 index 0000000..77d85b7 --- /dev/null +++ b/docs/source/examples/v3arch/asyncio/manager/ntfrcv/transport-tweaks.rst @@ -0,0 +1,16 @@ +.. toctree:: + :maxdepth: 2 + +Transport tweaks +---------------- + +.. include:: /../../examples/v3arch/asyncio/manager/ntfrcv/v2c-multiple-interfaces.py + :start-after: """ + :end-before: """# + +.. literalinclude:: /../../examples/v3arch/asyncio/manager/ntfrcv/v2c-multiple-interfaces.py + :start-after: """# + :language: python + +:download:`Download</../../examples/v3arch/asyncio/manager/ntfrcv/v2c-multiple-interfaces.py>` script. + |