From ce977a78091189099b339363d4d856c443d29710 Mon Sep 17 00:00:00 2001
From: Lance Stout <lancestout@gmail.com>
Date: Fri, 11 Jan 2013 17:18:58 -0800
Subject: Don't reset exponential backoff delay until a stream has been
 confirmed.

---
 sleekxmpp/xmlstream/xmlstream.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/sleekxmpp/xmlstream/xmlstream.py b/sleekxmpp/xmlstream/xmlstream.py
index 7955fee5..3f87df52 100644
--- a/sleekxmpp/xmlstream/xmlstream.py
+++ b/sleekxmpp/xmlstream/xmlstream.py
@@ -560,7 +560,6 @@ class XMLStream(object):
             self.set_socket(self.socket, ignore=True)
             #this event is where you should set your application state
             self.event("connected", direct=True)
-            self.reconnect_delay = 1.0
             return True
         except (Socket.error, ssl.SSLError) as serr:
             error_msg = "Could not connect to %s:%s. Socket Error #%s: %s"
@@ -1493,6 +1492,10 @@ class XMLStream(object):
                     # as handshakes.
                     self.stream_end_event.clear()
                     self.start_stream_handler(root)
+
+                    # We have a successful stream connection, so reset
+                    # exponential backoff for new reconnect attempts.
+                    self.reconnect_delay = 1.0
                 depth += 1
             if event == b'end':
                 depth -= 1
-- 
cgit v1.2.3