From 584228b2b5ff91a3db4699174bbefe1540d4ce59 Mon Sep 17 00:00:00 2001
From: Adam Ierymenko <adam.ierymenko@gmail.com>
Date: Wed, 24 Aug 2016 17:56:35 -0700
Subject: [PATCH] Dead code removal, and get rid of reliable() because we will
 no longer make that distinction.

---
 node/Path.hpp | 42 ------------------------------------------
 node/Peer.cpp |  4 +---
 2 files changed, 1 insertion(+), 45 deletions(-)

diff --git a/node/Path.hpp b/node/Path.hpp
index ecf4be24b..ca5dd98f2 100644
--- a/node/Path.hpp
+++ b/node/Path.hpp
@@ -247,16 +247,6 @@ public:
 		return score;
 	}
 
-	/**
-	 * @return True if path is considered reliable (no NAT keepalives etc. are needed)
-	 */
-	inline bool reliable() const throw()
-	{
-		if ((_addr.ss_family == AF_INET)||(_addr.ss_family == AF_INET6))
-			return ((_ipScope != InetAddress::IP_SCOPE_GLOBAL)&&(_ipScope != InetAddress::IP_SCOPE_PSEUDOPRIVATE));
-		return true;
-	}
-
 	/**
 	 * @return True if address is non-NULL
 	 */
@@ -313,38 +303,6 @@ public:
 	 */
 	inline void increaseProbation() { ++_probation; }
 
-	template<unsigned int C>
-	inline void serialize(Buffer<C> &b) const
-	{
-		b.append((uint8_t)2); // version
-		b.append((uint64_t)_lastSend);
-		b.append((uint64_t)_lastPing);
-		b.append((uint64_t)_lastKeepalive);
-		b.append((uint64_t)_lastReceived);
-		_addr.serialize(b);
-		_localAddress.serialize(b);
-		b.append((uint16_t)_flags);
-		b.append((uint16_t)_probation);
-	}
-
-	template<unsigned int C>
-	inline unsigned int deserialize(const Buffer<C> &b,unsigned int startAt = 0)
-	{
-		unsigned int p = startAt;
-		if (b[p++] != 2)
-			throw std::invalid_argument("invalid serialized Path");
-		_lastSend = b.template at<uint64_t>(p); p += 8;
-		_lastPing = b.template at<uint64_t>(p); p += 8;
-		_lastKeepalive = b.template at<uint64_t>(p); p += 8;
-		_lastReceived = b.template at<uint64_t>(p); p += 8;
-		p += _addr.deserialize(b,p);
-		p += _localAddress.deserialize(b,p);
-		_flags = b.template at<uint16_t>(p); p += 2;
-		_probation = b.template at<uint16_t>(p); p += 2;
-		_ipScope = _addr.ipScope();
-		return (p - startAt);
-	}
-
 	inline bool operator==(const Path &p) const { return ((p._addr == _addr)&&(p._localAddress == _localAddress)); }
 	inline bool operator!=(const Path &p) const { return ((p._addr != _addr)||(p._localAddress != _localAddress)); }
 
diff --git a/node/Peer.cpp b/node/Peer.cpp
index 7691408e4..01492be15 100644
--- a/node/Peer.cpp
+++ b/node/Peer.cpp
@@ -230,13 +230,11 @@ bool Peer::doPingAndKeepalive(uint64_t now,int inetAddressFamily)
 			sendHELLO(p->localAddress(),p->address(),now);
 			p->sent(now);
 			p->pinged(now);
-		} else if ( ((now - std::max(p->lastSend(),p->lastKeepalive())) >= ZT_NAT_KEEPALIVE_DELAY) && (!p->reliable()) ) {
+		} else if ((now - std::max(p->lastSend(),p->lastKeepalive())) >= ZT_NAT_KEEPALIVE_DELAY) {
 			//TRACE("NAT keepalive %s(%s) after %llums/%llums send/receive inactivity",_id.address().toString().c_str(),p->address().toString().c_str(),now - p->lastSend(),now - p->lastReceived());
 			_natKeepaliveBuf += (uint32_t)((now * 0x9e3779b1) >> 1); // tumble this around to send constantly varying (meaningless) payloads
 			RR->node->putPacket(p->localAddress(),p->address(),&_natKeepaliveBuf,sizeof(_natKeepaliveBuf));
 			p->sentKeepalive(now);
-		} else {
-			//TRACE("no PING or NAT keepalive: addr==%s reliable==%d %llums/%llums send/receive inactivity",p->address().toString().c_str(),(int)p->reliable(),now - p->lastSend(),now - p->lastReceived());
 		}
 		return true;
 	}