From: Forrest Voight Date: Wed, 3 Aug 2011 08:14:46 +0000 (-0400) Subject: heighttracker pushes update to tracker X-Git-Tag: 0.8.2~216 X-Git-Url: https://git.novaco.in/?a=commitdiff_plain;h=537895bfe84a19cfd2dde18ce138721682f99776;p=p2pool.git heighttracker pushes update to tracker --- diff --git a/p2pool/bitcoin/p2p.py b/p2pool/bitcoin/p2p.py index 00a5e71..56f1642 100644 --- a/p2pool/bitcoin/p2p.py +++ b/p2pool/bitcoin/p2p.py @@ -340,6 +340,8 @@ class HeightTracker(object): self.last_notified_size = 0 + self.updated = variable.Event() + self.think() def think(self): @@ -373,8 +375,15 @@ class HeightTracker(object): self.request([head], None) def heard_headers(self, headers): + changed = False for header in headers: - self.tracker.add(HeaderWrapper(header)) + hw = HeaderWrapper(header) + if hw.hash in self.tracker.shares: + continue + changed = True + self.tracker.add(hw) + if changed: + self.updated.happened() self.think() if len(self.tracker.shares) > self.last_notified_size + 10: diff --git a/p2pool/main.py b/p2pool/main.py index bf0851e..e71de1f 100644 --- a/p2pool/main.py +++ b/p2pool/main.py @@ -491,6 +491,8 @@ def main(args): print 'Started successfully!' print + ht.updated.watch(lambda x: set_real_work2()) + @defer.inlineCallbacks def work1_thread(): while True: