import struct
from . import base58, skiplists
-from p2pool.util import bases, math, skiplist
+from p2pool.util import bases, math, skiplist, variable
import p2pool
class EarlyEnd(Exception):
'''
self.get_nth_parent_hash = skiplists.DistanceSkipList(self)
+
+ self.added = variable.Event()
+ self.removed = variable.Event()
def add(self, share):
assert not isinstance(share, (int, long, type(None)))
for head in heads:
self.heads[head] = tail
+
+ self.added.happened(share)
def test(self):
t = Tracker()
self.reverse_shares.pop(share.previous_hash)
#assert self.test() is None
+ self.removed.happened(share)
def get_height(self, share_hash):
height, work, last = self.get_height_work_and_last(share_hash)
self.verified = bitcoin_data.Tracker()
self.get_cumulative_weights = skiplists.WeightsSkipList(self)
+
+ def add(self, share, known_verified=False):
+ bitcoin_data.Tracker.add(self, share)
+ if known_verified:
+ self.verified.add(share)
def attempt_verify(self, share, now):
if share.hash in self.verified.shares: