X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=p2pool%2Fdata.py;h=af4cb14f28cd8d239679d2a15402e57d5ab33547;hb=ed9359d649c9b9cc5e1c1a5b4a44da682f9b7a23;hp=f5434a421ad8567174a1dacf2d6159fe085a4412;hpb=a1f9399b069a3561047000d7f7d8b7b274d722bf;p=p2pool.git diff --git a/p2pool/data.py b/p2pool/data.py index f5434a4..af4cb14 100644 --- a/p2pool/data.py +++ b/p2pool/data.py @@ -73,7 +73,7 @@ class Share(object): ('pubkey_hash', pack.IntType(160)), ('subsidy', pack.IntType(64)), ('donation', pack.IntType(16)), - ('stale_info', pack.IntType(8)), # 0 nothing, 253 orphan, 254 doa + ('stale_info', pack.EnumType(pack.IntType(8), dict((k, {0: None, 253: 'orphan', 254: 'doa'}.get(k, 'unk%i' % (k,))) for k in xrange(256)))), ('desired_version', pack.VarIntType()), ]) @@ -338,8 +338,8 @@ class OkayTracker(forest.Tracker): work=lambda share: bitcoin_data.target_to_average_attempts(share.target), my_count=lambda share: 1 if share.hash in my_share_hashes else 0, my_doa_count=lambda share: 1 if share.hash in my_doa_share_hashes else 0, - my_orphan_announce_count=lambda share: 1 if share.hash in my_share_hashes and share.share_data['stale_info'] == 253 else 0, - my_dead_announce_count=lambda share: 1 if share.hash in my_share_hashes and share.share_data['stale_info'] == 254 else 0, + my_orphan_announce_count=lambda share: 1 if share.hash in my_share_hashes and share.share_data['stale_info'] == 'orphan' else 0, + my_dead_announce_count=lambda share: 1 if share.hash in my_share_hashes and share.share_data['stale_info'] == 'doa' else 0, )), subset_of=self) self.get_cumulative_weights = WeightsSkipList(self) @@ -527,7 +527,7 @@ def get_pool_attempts_per_second(tracker, previous_share_hash, dist, min_work=Fa return attempts/time def get_average_stale_prop(tracker, share_hash, lookbehind): - stales = sum(1 for share in tracker.get_chain(share_hash, lookbehind) if share.share_data['stale_info'] != 0) + stales = sum(1 for share in tracker.get_chain(share_hash, lookbehind) if share.share_data['stale_info'] is not None) return stales/(lookbehind + stales) def get_expected_payouts(tracker, best_share_hash, block_target, subsidy, net):