aboutsummaryrefslogtreecommitdiff
path: root/src/net.h
diff options
context:
space:
mode:
authorJosh Lehan <krellan@krellan.net>2013-08-22 04:34:33 -0700
committerJosh Lehan <krellan@krellan.net>2013-10-04 01:30:12 -0700
commit971bb3e901aad5d4f04a651e3e2a75161d3a4e2a (patch)
treeb3c28acdf4f64c005c81af7d77416499ab8feeb8 /src/net.h
parentacb3ebc45506701fdb7e060d8b941a5ba6a1b5ac (diff)
downloadbitcoin-971bb3e901aad5d4f04a651e3e2a75161d3a4e2a.tar.xz
Added ping time measurement.
New RPC "ping" command to request ping. Implemented "pong" message handler. New "pingtime" field in getpeerinfo, to provide results to user. New "pingwait" field, to show pings still in flight, to better see newly lagging peers.
Diffstat (limited to 'src/net.h')
-rw-r--r--src/net.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/net.h b/src/net.h
index 49415f6502..b57f38fe3a 100644
--- a/src/net.h
+++ b/src/net.h
@@ -119,6 +119,8 @@ public:
uint64 nSendBytes;
uint64 nRecvBytes;
bool fSyncNode;
+ double dPingTime;
+ double dPingWait;
};
@@ -234,6 +236,12 @@ public:
CCriticalSection cs_inventory;
std::multimap<int64, CInv> mapAskFor;
+ // Ping time measurement
+ uint64 nPingNonceSent;
+ int64 nPingUsecStart;
+ int64 nPingUsecTime;
+ bool fPingQueued;
+
CNode(SOCKET hSocketIn, CAddress addrIn, std::string addrNameIn = "", bool fInboundIn=false) : ssSend(SER_NETWORK, MIN_PROTO_VERSION)
{
nServices = 0;
@@ -268,6 +276,10 @@ public:
fRelayTxes = false;
setInventoryKnown.max_size(SendBufferSize() / 1000);
pfilter = new CBloomFilter();
+ nPingNonceSent = 0;
+ nPingUsecStart = 0;
+ nPingUsecTime = 0;
+ fPingQueued = false;
// Be shy and don't send version until we hear
if (hSocket != INVALID_SOCKET && !fInbound)