X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fnet.h;h=ec4f77eb8328b3f2bae2cd3bd225cf668e2a7848;hb=a1b58519a99876a87225984de2c2c45f9445ca18;hp=8569d237338d25c1ff336af28f443dbbf9307ef4;hpb=32b53bb54ee7591fd47dd1ee24e05b73337f40b5;p=novacoin.git diff --git a/src/net.h b/src/net.h index 8569d23..ec4f77e 100644 --- a/src/net.h +++ b/src/net.h @@ -60,6 +60,9 @@ enum LOCAL_MAX }; + +bool IsPeerAddrLocalGood(CNode *pnode); +void AdvertiseLocal(CNode *pnode); void SetLimited(enum Network net, bool fLimited = true); bool IsLimited(enum Network net); bool IsLimited(const CNetAddr& addr); @@ -119,6 +122,9 @@ enum threadId extern bool fClient; extern bool fDiscover; +extern bool fNoListen; + +extern bool fDiscover; extern uint64_t nLocalServices; extern uint64_t nLocalHostNonce; extern CAddress addrSeenByPeer; @@ -216,6 +222,9 @@ public: bool fGetAddr; std::set setKnown; uint256 hashCheckpointKnown; // ppcoin: known sent sync-checkpoint + int64_t nNextAddrSend; + int64_t nNextLocalAddrSend; + int64_t nNextInvSend; // inventory based relay mruset setInventoryKnown; @@ -236,9 +245,9 @@ public: nHeaderStart = -1; nMessageStart = std::numeric_limits::max(); addr = addrIn; - addrName = addrNameIn == "" ? addr.ToStringIPPort() : addrNameIn; + addrName = addrNameIn.empty() ? addr.ToStringIPPort() : addrNameIn; nVersion = 0; - strSubVer = ""; + strSubVer.clear(); fOneShot = false; fClient = false; // set by version message fInbound = fInboundIn; @@ -251,6 +260,9 @@ public: pindexLastGetBlocksBegin = 0; hashLastGetBlocksEnd = 0; nStartingHeight = -1; + nNextLocalAddrSend = 0; + nNextAddrSend = 0; + nNextInvSend = 0; fStartSync = false; fGetAddr = false; nMisbehavior = 0; @@ -391,8 +403,10 @@ public: return; } - if (nHeaderStart < 0) + if (nHeaderStart < 0) { + LEAVE_CRITICAL_SECTION(cs_vSend); return; + } // Set the size uint32_t nSize = (uint32_t) vSend.size() - nMessageStart; @@ -684,4 +698,7 @@ void RelayTransaction(const CTransaction& tx, const uint256& hash); void RelayTransaction(const CTransaction& tx, const uint256& hash, const CDataStream& ss); +/** Return a timestamp in the future (in microseconds) for exponentially distributed events. */ +int64_t PoissonNextSend(int64_t nNow, int average_interval_seconds); + #endif