summaryrefslogtreecommitdiff
path: root/python/qpid/messaging
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2010-04-01 20:39:31 +0000
committerRafael H. Schloming <rhs@apache.org>2010-04-01 20:39:31 +0000
commite63d139b7f275d2271d4a5f15b9894836ab1e371 (patch)
tree2460eeef7686fafb1114bb9728b8edddfdd62484 /python/qpid/messaging
parent0f150114eceda34771972fa4fb194b6eef6b1afa (diff)
downloadqpid-python-e63d139b7f275d2271d4a5f15b9894836ab1e371.tar.gz
updated reconnect option names to match C++ API
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@930084 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/qpid/messaging')
-rw-r--r--python/qpid/messaging/driver.py6
-rw-r--r--python/qpid/messaging/endpoints.py10
2 files changed, 14 insertions, 2 deletions
diff --git a/python/qpid/messaging/driver.py b/python/qpid/messaging/driver.py
index cd86542860..e9058d8154 100644
--- a/python/qpid/messaging/driver.py
+++ b/python/qpid/messaging/driver.py
@@ -323,6 +323,7 @@ class Driver:
self._selector = Selector.default()
self._attempts = 0
+ self._delay = self.connection.reconnect_interval_min
self._hosts = [(self.connection.host, self.connection.port)] + \
self.connection.backups
self._host = 0
@@ -390,7 +391,9 @@ class Driver:
if self._host > 0:
delay = 0
else:
- delay = self.connection.reconnect_delay
+ delay = self._delay
+ self._delay = min(2*self._delay,
+ self.connection.reconnect_interval_max)
self._timeout = time.time() + delay
log.warn("recoverable error[attempt %s]: %s" % (self._attempts, e))
if delay > 0:
@@ -951,6 +954,7 @@ class Engine:
# XXX: we're ignoring acks that get lost when disconnected,
# could we deal this via some message-id based purge?
if m._transfer_id is None:
+ ssn.acked.remove(m)
continue
ids.add(m._transfer_id)
disp = m._disposition or DEFAULT_DISPOSITION
diff --git a/python/qpid/messaging/endpoints.py b/python/qpid/messaging/endpoints.py
index c3f76e4adc..fd5dc35a42 100644
--- a/python/qpid/messaging/endpoints.py
+++ b/python/qpid/messaging/endpoints.py
@@ -84,7 +84,15 @@ class Connection:
self.mechanisms = options.get("mechanisms")
self.heartbeat = options.get("heartbeat")
self.reconnect = options.get("reconnect", False)
- self.reconnect_delay = options.get("reconnect_delay", 3)
+ self.reconnect_timeout = options.get("reconnect_timeout")
+ if "reconnect_interval_min" in options:
+ self.reconnect_interval_min = options["reconnect_interval_min"]
+ else:
+ self.reconnect_interval_min = options.get("reconnect_interval", 1)
+ if "reconnect_interval_max" in options:
+ self.reconnect_interval_max = options["reconnect_interval_max"]
+ else:
+ self.reconnect_interval_max = options.get("reconnect_interval", 2*60)
self.reconnect_limit = options.get("reconnect_limit")
self.transport = options.get("transport", "plain")
self.backups = options.get("backups", [])