mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-02-13 00:48:59 +00:00
Do not store more than 200 timedata samples.
Github-Pull: #6797 Rebased-From: 8be371db340b03dc03142c1bb3390fdfc84f56b4
This commit is contained in:
parent
f2778e0ce6
commit
91ef4d93d4
@ -40,6 +40,8 @@ static int64_t abs64(int64_t n)
|
||||
return (n >= 0 ? n : -n);
|
||||
}
|
||||
|
||||
#define BITCOIN_TIMEDATA_MAX_SAMPLES 200
|
||||
|
||||
void AddTimeData(const CNetAddr& ip, int64_t nTime)
|
||||
{
|
||||
int64_t nOffsetSample = nTime - GetTime();
|
||||
@ -47,11 +49,13 @@ void AddTimeData(const CNetAddr& ip, int64_t nTime)
|
||||
LOCK(cs_nTimeOffset);
|
||||
// Ignore duplicates
|
||||
static set<CNetAddr> setKnown;
|
||||
if (setKnown.size() == BITCOIN_TIMEDATA_MAX_SAMPLES)
|
||||
return;
|
||||
if (!setKnown.insert(ip).second)
|
||||
return;
|
||||
|
||||
// Add data
|
||||
static CMedianFilter<int64_t> vTimeOffsets(200,0);
|
||||
static CMedianFilter<int64_t> vTimeOffsets(BITCOIN_TIMEDATA_MAX_SAMPLES, 0);
|
||||
vTimeOffsets.input(nOffsetSample);
|
||||
LogPrintf("Added time data, samples %d, offset %+d (%+d minutes)\n", vTimeOffsets.size(), nOffsetSample, nOffsetSample/60);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user