auto-cycle: switch to the longest chain
authorThomasV <thomasv@gitorious>
Thu, 3 Oct 2013 12:56:48 +0000 (14:56 +0200)
committerThomasV <thomasv@gitorious>
Thu, 3 Oct 2013 12:56:48 +0000 (14:56 +0200)
lib/blockchain.py
lib/interface.py

index 625c78f..2420e67 100644 (file)
@@ -94,9 +94,12 @@ class Blockchain(threading.Thread):
                 self.network.trigger_callback('updated')
 
             h = self.servers_height.get(self.network.interface.server)
-            if h is not None and h < height - 1:
-                print "server is lagging", height, h
-                self.network.interface.stop()
+            if h is not None and h < height :
+                print_error( "Server is lagging", height, h)
+                if self.config.get('auto_cycle'):
+                    self.network.set_server(i.server)
+                else:
+                    self.network.interface.stop()
 
 
                     
index 34dd0c9..804e63c 100644 (file)
@@ -109,8 +109,8 @@ class Interface(threading.Thread):
         self.pending_transactions_for_notifications= []
 
         # parse server
-        s = config.get('server')
-        host, port, protocol = s.split(':')
+        self.server = config.get('server')
+        host, port, protocol = self.server.split(':')
         port = int(port)
             
         if protocol not in 'ghst':
@@ -123,7 +123,6 @@ class Interface(threading.Thread):
         self.proxy = self.parse_proxy_options(config.get('proxy'))
         if self.proxy:
             self.proxy_mode = proxy_modes.index(self.proxy["mode"]) + 1
-        self.server = host + ':%d:%s'%(port, protocol)