From c4930f33125eef6dc035e51c95691054289cc461 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Mon, 15 Apr 2013 03:15:53 +0000 Subject: [PATCH] Remember the last successful poll time for each node --- db.cpp | 6 +++++- db.h | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/db.cpp b/db.cpp index 4849014..592d68a 100644 --- a/db.cpp +++ b/db.cpp @@ -11,7 +11,11 @@ void CAddrInfo::Update(bool good) { lastTry = now; ourLastTry = now; total++; - if (good) success++; + if (good) + { + success++; + ourLastSuccess = now; + } stat2H.Update(good, age, 3600*2); stat8H.Update(good, age, 3600*8); stat1D.Update(good, age, 3600*24); diff --git a/db.h b/db.h index 1946492..b55dce1 100644 --- a/db.h +++ b/db.h @@ -61,6 +61,7 @@ private: uint64_t services; int64 lastTry; int64 ourLastTry; + int64 ourLastSuccess; int64 ignoreTill; CAddrStat stat2H; CAddrStat stat8H; @@ -73,7 +74,7 @@ private: int success; std::string clientSubVersion; public: - CAddrInfo() : services(0), lastTry(0), ourLastTry(0), ignoreTill(0), clientVersion(0), blocks(0), total(0), success(0) {} + CAddrInfo() : services(0), lastTry(0), ourLastTry(0), ourLastSuccess(0), ignoreTill(0), clientVersion(0), blocks(0), total(0), success(0) {} CAddrReport GetReport() const { CAddrReport ret; @@ -126,7 +127,7 @@ public: friend class CAddrDb; IMPLEMENT_SERIALIZE ( - unsigned char version = 3; + unsigned char version = 4; READWRITE(version); READWRITE(ip); READWRITE(services); @@ -152,6 +153,8 @@ public: READWRITE(clientSubVersion); if (version >= 3) READWRITE(blocks); + if (version >= 4) + READWRITE(ourLastSuccess); } ) };