|
|
@ -146,7 +146,7 @@ void iguana_gotblockM(struct iguana_info *coin,struct iguana_peer *addr,struct i |
|
|
|
bp = 0, bundlei = -2; |
|
|
|
if ( copyflag != 0 && recvlen != 0 && ((bp= iguana_bundlefind(coin,&bp,&bundlei,origtxdata->block.RO.hash2)) == 0 || (bp->blocks[bundlei] != 0 && bp->blocks[bundlei]->fpipbits == 0)) ) |
|
|
|
{ |
|
|
|
printf("copy %p serialized[%d]\n",req,req->recvlen); |
|
|
|
//printf("copy %p serialized[%d]\n",req,req->recvlen);
|
|
|
|
memcpy(req->serialized,data,recvlen), req->copyflag = 1; |
|
|
|
} |
|
|
|
if ( bits256_cmp(origtxdata->block.RO.hash2,coin->APIblockhash) == 0 ) |
|
|
@ -601,14 +601,12 @@ struct iguana_bundlereq *iguana_recvblock(struct iguana_info *coin,struct iguana |
|
|
|
if ( bp != 0 && bundlei > 0 && bits256_nonz(block->RO.prev_block) > 0 ) |
|
|
|
iguana_blockQ(coin,bp,bundlei-1,block->RO.prev_block,0); |
|
|
|
block->RO.recvlen = recvlen; |
|
|
|
if ( req->copyflag != 0 && block->queued == 0 && bp != 0 )//block->rawdata == 0 )
|
|
|
|
if ( req->copyflag != 0 && block->queued == 0 && bp != 0 ) |
|
|
|
{ |
|
|
|
char str[65]; fprintf(stderr,"req.%p %s copyflag.%d %d data %d %d\n",req,bits256_str(str,block->RO.hash2),req->copyflag,block->height,req->recvlen,recvlen); |
|
|
|
//block->rawdata = mycalloc('n',1,block->RO.recvlen);
|
|
|
|
//memcpy(block->rawdata,req->serialized,block->RO.recvlen);
|
|
|
|
//block->copyflag = 1;
|
|
|
|
//char str[65]; fprintf(stderr,"req.%p %s copyflag.%d %d data %d %d\n",req,bits256_str(str,block->RO.hash2),req->copyflag,block->height,req->recvlen,recvlen);
|
|
|
|
coin->numcached++; |
|
|
|
block->queued = 1; |
|
|
|
//iguana_parsebuf(coin,addr,&req->H,req->serialized,req->recvlen);
|
|
|
|
queue_enqueue("cacheQ",&coin->cacheQ,&req->DL,0); |
|
|
|
return(0); |
|
|
|
} |
|
|
|