summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelie <elie>2015-03-07 22:39:30 +0000
committerelie <elie>2015-03-07 22:39:30 +0000
commit9a3322fe7aff404d0134b242e2fd71b6984b52a6 (patch)
tree703b466776dddadada9a604dab80716ad1cc6de1
parent36b5f1ec3bf18af407d84ff605347e90dade7411 (diff)
downloadpysnmp-9a3322fe7aff404d0134b242e2fd71b6984b52a6.tar.gz
make config.delTransport() returning detached transport object
-rw-r--r--CHANGES2
-rw-r--r--examples/v3arch/asyncio/agent/ntforg/inform-v3.py2
-rw-r--r--examples/v3arch/asyncio/agent/ntforg/trap-v1.py2
-rw-r--r--examples/v3arch/asyncio/manager/cmdgen/get-v2c-custom-timeout.py2
-rw-r--r--examples/v3arch/asyncio/manager/cmdgen/getbulk-v2c.py2
-rw-r--r--examples/v3arch/asyncio/manager/cmdgen/getnext-v2c-from-specific-address.py2
-rw-r--r--examples/v3arch/asyncio/manager/cmdgen/set-v2c.py2
-rw-r--r--examples/v3arch/manager/cmdgen/get-v3.py5
-rw-r--r--examples/v3arch/trollius/agent/ntforg/inform-v3.py2
-rw-r--r--examples/v3arch/trollius/agent/ntforg/trap-v1.py2
-rw-r--r--examples/v3arch/trollius/manager/cmdgen/get-v1.py2
-rw-r--r--examples/v3arch/trollius/manager/cmdgen/get-v2c-custom-timeout.py2
-rw-r--r--examples/v3arch/trollius/manager/cmdgen/getbulk-v3.py2
-rw-r--r--examples/v3arch/trollius/manager/cmdgen/getnext-v3.py2
-rw-r--r--examples/v3arch/trollius/manager/cmdgen/set-v2c.py2
-rw-r--r--pysnmp/entity/config.py2
16 files changed, 22 insertions, 13 deletions
diff --git a/CHANGES b/CHANGES
index 8a8ada5..06043a1 100644
--- a/CHANGES
+++ b/CHANGES
@@ -74,6 +74,8 @@ Revision 4.2.6rc2
broken SNMP messages or its components.
- First attempt made to make some of SNMP Engine settings persistent
across reboots.
+- Make config.delTransport() returning detached transport object. Asyncio
+ examples now use this facility to explicitly shutdown transport object.
- Fix to authoritative engine side snmpEngineID discovery procedure:
respond with notInTimeWindows rather then with unsupportedSecurityLevel
at time synchronization phase.
diff --git a/examples/v3arch/asyncio/agent/ntforg/inform-v3.py b/examples/v3arch/asyncio/agent/ntforg/inform-v3.py
index f14f5a2..133ff05 100644
--- a/examples/v3arch/asyncio/agent/ntforg/inform-v3.py
+++ b/examples/v3arch/asyncio/agent/ntforg/inform-v3.py
@@ -93,7 +93,7 @@ def snmpOperation(snmpEngine, target, snmpContext, contextName,
config.delTransport(
snmpEngine,
udp.domainName
- )
+ ).closeTransport()
# Initiate sending SNMP message
loop.run_until_complete(
diff --git a/examples/v3arch/asyncio/agent/ntforg/trap-v1.py b/examples/v3arch/asyncio/agent/ntforg/trap-v1.py
index fef010d..5104f90 100644
--- a/examples/v3arch/asyncio/agent/ntforg/trap-v1.py
+++ b/examples/v3arch/asyncio/agent/ntforg/trap-v1.py
@@ -101,7 +101,7 @@ def snmpOperation(snmpEngine, target, snmpContext, contextName,
config.delTransport(
snmpEngine,
udp.domainName
- )
+ ).closeTransport()
# Initiate sending SNMP message
asyncio.async(
diff --git a/examples/v3arch/asyncio/manager/cmdgen/get-v2c-custom-timeout.py b/examples/v3arch/asyncio/manager/cmdgen/get-v2c-custom-timeout.py
index 3798f2b..c2ef8b5 100644
--- a/examples/v3arch/asyncio/manager/cmdgen/get-v2c-custom-timeout.py
+++ b/examples/v3arch/asyncio/manager/cmdgen/get-v2c-custom-timeout.py
@@ -85,7 +85,7 @@ def snmpOperation(snmpEngine, target, contextEngineId, contextName, varBinds):
config.delTransport(
snmpEngine,
udp.domainName
- )
+ ).closeTransport()
loop.run_until_complete(
snmpOperation(
diff --git a/examples/v3arch/asyncio/manager/cmdgen/getbulk-v2c.py b/examples/v3arch/asyncio/manager/cmdgen/getbulk-v2c.py
index df19279..5cbe619 100644
--- a/examples/v3arch/asyncio/manager/cmdgen/getbulk-v2c.py
+++ b/examples/v3arch/asyncio/manager/cmdgen/getbulk-v2c.py
@@ -97,7 +97,7 @@ def snmpOperation(snmpEngine, target, contextEngineId, contextName,
config.delTransport(
snmpEngine,
udp.domainName
- )
+ ).closeTransport()
loop.stop()
diff --git a/examples/v3arch/asyncio/manager/cmdgen/getnext-v2c-from-specific-address.py b/examples/v3arch/asyncio/manager/cmdgen/getnext-v2c-from-specific-address.py
index b09ccb7..e50eac8 100644
--- a/examples/v3arch/asyncio/manager/cmdgen/getnext-v2c-from-specific-address.py
+++ b/examples/v3arch/asyncio/manager/cmdgen/getnext-v2c-from-specific-address.py
@@ -94,7 +94,7 @@ def snmpOperation(snmpEngine, target, contextEngineId, contextName, varBinds):
config.delTransport(
snmpEngine,
udp.domainName
- )
+ ).closeTransport()
loop.stop()
diff --git a/examples/v3arch/asyncio/manager/cmdgen/set-v2c.py b/examples/v3arch/asyncio/manager/cmdgen/set-v2c.py
index b3a22f3..1e512f2 100644
--- a/examples/v3arch/asyncio/manager/cmdgen/set-v2c.py
+++ b/examples/v3arch/asyncio/manager/cmdgen/set-v2c.py
@@ -84,7 +84,7 @@ def snmpOperation(snmpEngine, target, contextEngineId, contextName, varBinds):
config.delTransport(
snmpEngine,
udp.domainName
- )
+ ).closeTransport()
loop.run_until_complete(
snmpOperation(
diff --git a/examples/v3arch/manager/cmdgen/get-v3.py b/examples/v3arch/manager/cmdgen/get-v3.py
index e898904..68a6106 100644
--- a/examples/v3arch/manager/cmdgen/get-v3.py
+++ b/examples/v3arch/manager/cmdgen/get-v3.py
@@ -73,3 +73,8 @@ cmdgen.GetCommandGenerator().sendVarBinds(
# Run I/O dispatcher which would send pending queries and process responses
snmpEngine.transportDispatcher.runDispatcher()
+
+config.delTransport(
+ snmpEngine,
+ udp.domainName
+).closeTransport()
diff --git a/examples/v3arch/trollius/agent/ntforg/inform-v3.py b/examples/v3arch/trollius/agent/ntforg/inform-v3.py
index 595bde5..93fe5df 100644
--- a/examples/v3arch/trollius/agent/ntforg/inform-v3.py
+++ b/examples/v3arch/trollius/agent/ntforg/inform-v3.py
@@ -95,7 +95,7 @@ def snmpOperation(snmpEngine, target, snmpContext, contextName,
config.delTransport(
snmpEngine,
udp.domainName
- )
+ ).closeTransport()
# Initiate sending SNMP message
loop.run_until_complete(
diff --git a/examples/v3arch/trollius/agent/ntforg/trap-v1.py b/examples/v3arch/trollius/agent/ntforg/trap-v1.py
index 2ec3dda..b11b39f 100644
--- a/examples/v3arch/trollius/agent/ntforg/trap-v1.py
+++ b/examples/v3arch/trollius/agent/ntforg/trap-v1.py
@@ -101,7 +101,7 @@ def snmpOperation(snmpEngine, target, snmpContext, contextName,
config.delTransport(
snmpEngine,
udp.domainName
- )
+ ).closeTransport()
# Initiate sending SNMP message
trollius.async(
diff --git a/examples/v3arch/trollius/manager/cmdgen/get-v1.py b/examples/v3arch/trollius/manager/cmdgen/get-v1.py
index 523bee0..3d14a15 100644
--- a/examples/v3arch/trollius/manager/cmdgen/get-v1.py
+++ b/examples/v3arch/trollius/manager/cmdgen/get-v1.py
@@ -85,7 +85,7 @@ def snmpOperation(snmpEngine, target, contextEngineId, contextName, varBinds):
config.delTransport(
snmpEngine,
udp.domainName
- )
+ ).closeTransport()
loop.run_until_complete(
snmpOperation(
diff --git a/examples/v3arch/trollius/manager/cmdgen/get-v2c-custom-timeout.py b/examples/v3arch/trollius/manager/cmdgen/get-v2c-custom-timeout.py
index fa7d8d3..4db7a8c 100644
--- a/examples/v3arch/trollius/manager/cmdgen/get-v2c-custom-timeout.py
+++ b/examples/v3arch/trollius/manager/cmdgen/get-v2c-custom-timeout.py
@@ -87,7 +87,7 @@ def snmpOperation(snmpEngine, target, contextEngineId, contextName, varBinds):
config.delTransport(
snmpEngine,
udp.domainName
- )
+ ).closeTransport()
loop.run_until_complete(
snmpOperation(
diff --git a/examples/v3arch/trollius/manager/cmdgen/getbulk-v3.py b/examples/v3arch/trollius/manager/cmdgen/getbulk-v3.py
index eaf5a59..50f4e69 100644
--- a/examples/v3arch/trollius/manager/cmdgen/getbulk-v3.py
+++ b/examples/v3arch/trollius/manager/cmdgen/getbulk-v3.py
@@ -101,7 +101,7 @@ def snmpOperation(snmpEngine, target, contextEngineId, contextName,
config.delTransport(
snmpEngine,
udp.domainName
- )
+ ).closeTransport()
loop.stop()
diff --git a/examples/v3arch/trollius/manager/cmdgen/getnext-v3.py b/examples/v3arch/trollius/manager/cmdgen/getnext-v3.py
index ccdbf51..5b26bff 100644
--- a/examples/v3arch/trollius/manager/cmdgen/getnext-v3.py
+++ b/examples/v3arch/trollius/manager/cmdgen/getnext-v3.py
@@ -95,7 +95,7 @@ def snmpOperation(snmpEngine, target, contextEngineId, contextName, varBinds):
config.delTransport(
snmpEngine,
udp.domainName
- )
+ ).closeTransport()
loop.stop()
diff --git a/examples/v3arch/trollius/manager/cmdgen/set-v2c.py b/examples/v3arch/trollius/manager/cmdgen/set-v2c.py
index 9a2366e..966e78a 100644
--- a/examples/v3arch/trollius/manager/cmdgen/set-v2c.py
+++ b/examples/v3arch/trollius/manager/cmdgen/set-v2c.py
@@ -86,7 +86,7 @@ def snmpOperation(snmpEngine, target, contextEngineId, contextName, varBinds):
config.delTransport(
snmpEngine,
udp.domainName
- )
+ ).closeTransport()
loop.run_until_complete(
snmpOperation(
diff --git a/pysnmp/entity/config.py b/pysnmp/entity/config.py
index 3df3b1f..f9018e9 100644
--- a/pysnmp/entity/config.py
+++ b/pysnmp/entity/config.py
@@ -343,6 +343,7 @@ def getTransport(snmpEngine, transportDomain):
def delTransport(snmpEngine, transportDomain):
if not snmpEngine.transportDispatcher:
return
+ transport = getTransport(snmpEngine, transportDomain)
snmpEngine.transportDispatcher.unregisterTransport(transportDomain)
# automatically shutdown automatically created transportDispatcher
if 'automaticTransportDispatcher' in snmpEngine.cache:
@@ -351,6 +352,7 @@ def delTransport(snmpEngine, transportDomain):
snmpEngine.transportDispatcher.closeDispatcher()
snmpEngine.unregisterTransportDispatcher()
del snmpEngine.cache['automaticTransportDispatcher']
+ return transport
addSocketTransport = addTransport
delSocketTransport = delTransport