diff --git a/iguana/iguana777.h b/iguana/iguana777.h index d459cc317..7d9fb8a93 100755 --- a/iguana/iguana777.h +++ b/iguana/iguana777.h @@ -781,6 +781,7 @@ uint32_t iguana_sparseaddpk(uint8_t *bits,int32_t width,uint32_t tablesize,uint8 long iguana_initscripts(struct iguana_info *coin); uint32_t iguana_scriptsave(struct iguana_info *coin,struct iguana_bundle *bp,uint32_t ind,int32_t spendflag,uint8_t *script,int32_t scriptlen); int32_t iguana_vinscriptparse(struct iguana_info *coin,struct vin_info *vp,int32_t *sigsizep,int32_t *pubkeysizep,int32_t *p2shsizep,int32_t *suffixp,uint8_t *vinscript,int32_t scriptlen); +void iguana_parsebuf(struct iguana_info *coin,struct iguana_peer *addr,struct iguana_msghdr *H,uint8_t *buf,int32_t len); extern queue_t bundlesQ; diff --git a/iguana/iguana_peers.c b/iguana/iguana_peers.c index 3de7bfac8..6332ba514 100755 --- a/iguana/iguana_peers.c +++ b/iguana/iguana_peers.c @@ -979,7 +979,7 @@ void iguana_dedicatedloop(struct iguana_info *coin,struct iguana_peer *addr) { if ( req->datalen != 0 ) { - char str[65]; printf("CACHE.%p parse[%d] %s %s\n",req,req->recvlen,req->H.command,bits256_str(str,req->block.RO.hash2)); + //char str[65]; printf("CACHE.%p parse[%d] %s %s\n",req,req->recvlen,req->H.command,bits256_str(str,req->block.RO.hash2)); iguana_parsebuf(coin,addr,&req->H,req->serialized,req->recvlen); } else printf("CACHE error no datalen\n"); coin->cachefreed++; diff --git a/iguana/iguana_ramchain.c b/iguana/iguana_ramchain.c index 558332e0d..393035d7d 100755 --- a/iguana/iguana_ramchain.c +++ b/iguana/iguana_ramchain.c @@ -1271,7 +1271,7 @@ int32_t iguana_ramchain_alloc(struct iguana_info *coin,struct iguana_ramchain *r long iguana_ramchain_save(struct iguana_info *coin,RAMCHAIN_FUNC,uint32_t ipbits,bits256 hash2,bits256 prevhash2,int32_t bundlei,struct iguana_bundle *bp) { - struct iguana_ramchaindata *rdata,tmp; char fname[1024]; long fpos = -1; int32_t c,i,hdrsi,checki; FILE *fp; + struct iguana_ramchaindata *rdata,tmp; char fname[1024]; long fpos = -1; int32_t hdrsi,checki; FILE *fp; if ( (rdata= ramchain->H.data) == 0 ) { printf("ramchainsave no data ptr\n"); diff --git a/iguana/iguana_recv.c b/iguana/iguana_recv.c index 8f697e34d..6a1a9ca10 100755 --- a/iguana/iguana_recv.c +++ b/iguana/iguana_recv.c @@ -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); } diff --git a/iguana/main.c b/iguana/main.c index 02595181e..11a015f4b 100755 --- a/iguana/main.c +++ b/iguana/main.c @@ -45,7 +45,7 @@ cJSON *API_json; #ifdef __linux__ int32_t IGUANA_NUMHELPERS = 8; #else -int32_t IGUANA_NUMHELPERS = 1; +int32_t IGUANA_NUMHELPERS = 4; #endif struct iguana_jsonitem { struct queueitem DL; struct supernet_info *myinfo; uint32_t fallback,expired,allocsize; char **retjsonstrp; char remoteaddr[64]; char jsonstr[]; };