From: Forrest Voight Date: Sun, 11 Mar 2012 20:54:19 +0000 (-0400) Subject: send ping to bitcoind every 30 seconds X-Git-Tag: 0.10.0~52 X-Git-Url: https://git.novaco.in/?p=p2pool.git;a=commitdiff_plain;h=75ac16fccc0ef06973f7f018d86d2f3a27738c74 send ping to bitcoind every 30 seconds --- diff --git a/p2pool/bitcoin/p2p.py b/p2pool/bitcoin/p2p.py index a26f763..a8310bf 100644 --- a/p2pool/bitcoin/p2p.py +++ b/p2pool/bitcoin/p2p.py @@ -135,6 +135,9 @@ class Protocol(BaseProtocol): self.factory.resetDelay() if hasattr(self.factory, 'gotConnection'): self.factory.gotConnection(self) + + self.pinger = task.LoopingCall(self.send_ping) + self.pinger.start(30) message_inv = pack.ComposedType([ ('invs', pack.ListType(pack.ComposedType([ @@ -216,6 +219,8 @@ class Protocol(BaseProtocol): def connectionLost(self, reason): if hasattr(self.factory, 'gotConnection'): self.factory.gotConnection(None) + if hasattr(self, 'pinger'): + self.pinger.stop() print 'Bitcoin connection lost. Reason:', reason.getErrorMessage() class ClientFactory(protocol.ReconnectingClientFactory):