Browse Source

Merge pull request #468 from jl777/dev

Dev
pull/4/head
jl777 7 years ago
committed by GitHub
parent
commit
0d73bf050f
  1. 25
      src/main.cpp
  2. 1
      src/net.h

25
src/main.cpp

@ -49,6 +49,7 @@ using namespace std;
*/
CCriticalSection cs_main;
extern uint8_t NOTARY_PUBKEY33[33];
BlockMap mapBlockIndex;
CChain chainActive;
@ -4494,7 +4495,14 @@ void static ProcessGetData(CNode* pfrom)
else
{
if (inv.type == MSG_BLOCK)
{
//uint256 hash; int32_t z;
//hash = block.GetHash();
//for (z=31; z>=0; z--)
// fprintf(stderr,"%02x",((uint8_t *)&hash)[z]);
//fprintf(stderr," send block %d\n",komodo_block2height(&block));
pfrom->PushMessage("block", block);
}
else // MSG_FILTERED_BLOCK)
{
LOCK(pfrom->cs_filter);
@ -4583,6 +4591,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
{
const CChainParams& chainparams = Params();
LogPrint("net", "received: %s (%u bytes) peer=%d\n", SanitizeString(strCommand), vRecv.size(), pfrom->id);
//fprintf(stderr, "recv: %s peer=%d\n", SanitizeString(strCommand).c_str(), (int32_t)pfrom->GetId());
if (mapArgs.count("-dropmessagestest") && GetRand(atoi(mapArgs["-dropmessagestest"])) == 0)
{
LogPrintf("dropmessagestest DROPPING RECV MESSAGE\n");
@ -4956,13 +4965,19 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
vector<CBlock> vHeaders;
int nLimit = MAX_HEADERS_RESULTS;
LogPrint("net", "getheaders %d to %s from peer=%d\n", (pindex ? pindex->nHeight : -1), hashStop.ToString(), pfrom->id);
for (; pindex; pindex = chainActive.Next(pindex))
if ( pfrom->lasthdrsreq >= chainActive.Height()-MAX_HEADERS_RESULTS || pfrom->lasthdrsreq != (int32_t)(pindex ? pindex->nHeight : -1) )
{
vHeaders.push_back(pindex->GetBlockHeader());
if (--nLimit <= 0 || pindex->GetBlockHash() == hashStop)
break;
pfrom->lasthdrsreq = (int32_t)(pindex ? pindex->nHeight : -1);
for (; pindex; pindex = chainActive.Next(pindex))
{
vHeaders.push_back(pindex->GetBlockHeader());
if (--nLimit <= 0 || pindex->GetBlockHash() == hashStop)
break;
}
pfrom->PushMessage("headers", vHeaders);
}
pfrom->PushMessage("headers", vHeaders);
else if ( NOTARY_PUBKEY33[0] != 0 )
fprintf(stderr,"you can ignore redundant getheaders from peer.%d %d prev.%d\n",(int32_t)pfrom->id,(int32_t)(pindex ? pindex->nHeight : -1),pfrom->lasthdrsreq);
}

1
src/net.h

@ -264,6 +264,7 @@ public:
std::string addrName;
CService addrLocal;
int nVersion;
int lasthdrsreq;
// strSubVer is whatever byte array we read from the wire. However, this field is intended
// to be printed out, displayed to humans in various forms and so on. So we sanitize it and
// store the sanitized version in cleanSubVer. The original should be used when dealing with

Loading…
Cancel
Save