From f753a9feced7dd8adfbd52a76455a83eac7756d7 Mon Sep 17 00:00:00 2001 From: Anael Beutot Date: Wed, 23 May 2012 17:48:30 +0200 Subject: [PATCH] =?UTF-8?q?Reconnects=20RPC=20after=20a=201=C2=A0seconds?= =?UTF-8?q?=20delay.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ccnode/node.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ccnode/node.py b/ccnode/node.py index 1ea6294..5f7012c 100644 --- a/ccnode/node.py +++ b/ccnode/node.py @@ -206,6 +206,7 @@ class MainLoop(object): self.rpc_con = None self.connect = RPCStartHandler(self) + self.reconnect = None # role self.role = None @@ -296,11 +297,19 @@ class MainLoop(object): logger.error('Lost connection to the cc-server, will attempt' ' reconnection') + # reconnection atempt in one second + self.reconnect = self.evloop.timer( + 1.,0., self.restart_rpc_connection_cb) + self.reconnect.start() + + def restart_rpc_connection_cb(self, *args): # clear connection self.rpc_con = None # attempt to connect to the cc-server again self.connect = RPCStartHandler(self) self.connect.start() + self.reconnect.stop() + self.reconnect = None def start(self): logger.info('Starting node') @@ -315,6 +324,8 @@ class MainLoop(object): logger.info('Exiting node...') if self.connect is not None: self.connect.stop() + if self.reconnect is not None: + self.reconnect.stop() # close rpc if self.rpc_con is not None: # disable callback to prevent trampoline calls -- GitLab