Skip to content

Commit 91ef4d9

Browse files
paveljaniklaanwj
authored andcommitted
Do not store more than 200 timedata samples.
Github-Pull: #6797 Rebased-From: 8be371d
1 parent f2778e0 commit 91ef4d9

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/timedata.cpp

+5-1
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,22 @@ static int64_t abs64(int64_t n)
4040
return (n >= 0 ? n : -n);
4141
}
4242

43+
#define BITCOIN_TIMEDATA_MAX_SAMPLES 200
44+
4345
void AddTimeData(const CNetAddr& ip, int64_t nTime)
4446
{
4547
int64_t nOffsetSample = nTime - GetTime();
4648

4749
LOCK(cs_nTimeOffset);
4850
// Ignore duplicates
4951
static set<CNetAddr> setKnown;
52+
if (setKnown.size() == BITCOIN_TIMEDATA_MAX_SAMPLES)
53+
return;
5054
if (!setKnown.insert(ip).second)
5155
return;
5256

5357
// Add data
54-
static CMedianFilter<int64_t> vTimeOffsets(200,0);
58+
static CMedianFilter<int64_t> vTimeOffsets(BITCOIN_TIMEDATA_MAX_SAMPLES, 0);
5559
vTimeOffsets.input(nOffsetSample);
5660
LogPrintf("Added time data, samples %d, offset %+d (%+d minutes)\n", vTimeOffsets.size(), nOffsetSample, nOffsetSample/60);
5761

0 commit comments

Comments
 (0)