Skip to content

Commit

Permalink
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions BRPeerManager.c
Original file line number Diff line number Diff line change
@@ -1195,10 +1195,12 @@ static void _peerRelayedBlock(void *info, BRMerkleBlock *block)

// moving average number of tx-per-block
manager->averageTxPerBlock = manager->averageTxPerBlock*0.999 + block->totalTx*0.001;
peer_log(peer, "user preferred fpRate: %f", manager->fpRate);

// 1% low pass filter, also weights each block by total transactions, compared to the avarage
manager->fpRate = manager->fpRate*(1.0 - 0.01*block->totalTx/manager->averageTxPerBlock) +
0.01*fpCount/manager->averageTxPerBlock;
peer_log(peer, "adjusted preferred fpRate: %f", manager->fpRate);

// false positive rate sanity check
if (BRPeerConnectStatus(peer) == BRPeerStatusConnected &&

0 comments on commit a3ea246

Please sign in to comment.