Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
9fcf2814a3
  1. 4
      iguana/iguana_bundles.c
  2. 2
      iguana/iguana_init.c
  3. 2
      iguana/iguana_peers.c
  4. 4
      iguana/iguana_recv.c
  5. 28
      iguana/iguana_unspents.c

4
iguana/iguana_bundles.c

@ -668,7 +668,7 @@ int32_t iguana_setmaxbundles(struct iguana_info *coin)
double completed;
if ( coin->current != 0 && coin->bundlescount != 0 )
{
completed = ((double)coin->current->hdrsi + 1) / coin->bundlescount;
completed = sqrt((double)coin->current->hdrsi + 1) / coin->bundlescount;
coin->MAXBUNDLES = (double)(coin->endPEND - coin->startPEND)*completed + coin->startPEND;
//printf("MAXBUNDLES %d (%d -> %d) completed %.3f\n",coin->MAXBUNDLES,coin->startPEND,coin->endPEND,completed);
}
@ -808,7 +808,7 @@ int32_t iguana_bundlefinish(struct iguana_info *coin,struct iguana_bundle *bp)
}
#endif
for (i=0; i<bp->hdrsi; i++)
if ( (prevbp= coin->bundles[i]) == 0 || prevbp->emitfinish < coin->startutc || (i < bp->hdrsi-16 && prevbp->utxofinish <= 1)
if ( (prevbp= coin->bundles[i]) == 0 || prevbp->emitfinish < coin->startutc || (i < bp->hdrsi-8 && prevbp->utxofinish <= 1)
)
break;
if ( i == bp->hdrsi )

2
iguana/iguana_init.c

@ -377,7 +377,7 @@ void iguana_coinpurge(struct iguana_info *coin)
coin->RTgenesis = 0;
while ( (ptr= queue_dequeue(&bundlesQ,0)) != 0 )
myfree(ptr,ptr->allocsize);
if ( 0 )
if ( 1 )
{
while ( (hashstr= queue_dequeue(&coin->hdrsQ,1)) != 0 )
free_queueitem(hashstr);

2
iguana/iguana_peers.c

@ -608,7 +608,7 @@ void iguana_startconnection(void *arg)
return;
}
//printf("MYSERVICES.%llx\n",(long long)coin->myservices);
if ( strcmp("127.0.0.1",addr->ipaddr) == 0 && (coin->myservices & NODE_NETWORK) != 0 )
if ( strcmp("127.0.0.1",addr->ipaddr) == 0 )//&& (coin->myservices & NODE_NETWORK) != 0 )
{
iguana_iAkill(coin,addr,0);
printf("avoid self-loopback\n");

4
iguana/iguana_recv.c

@ -194,7 +194,7 @@ void iguana_gotblockM(struct iguana_info *coin,struct iguana_peer *addr,struct i
}
else if ( 0 && coin->enableCACHE != 0 )
printf("cache.%d validated.(%s)\n",coin->enableCACHE,bits256_str(str,origtxdata->block.RO.hash2));
copyflag = coin->enableCACHE;
copyflag = 0*coin->enableCACHE;
bp = 0, bundlei = -2;
bp = iguana_bundlefind(coin,&bp,&bundlei,origtxdata->block.RO.hash2);
if ( bp != 0 )
@ -1296,7 +1296,7 @@ int32_t iguana_pollQsPT(struct iguana_info *coin,struct iguana_peer *addr)
}
if ( bp == 0 || z != 0 || bp == coin->current )
{
printf("%s request HDR.(%s) numhashes.%d\n",addr!=0?addr->ipaddr:"local",hashstr,bp!=0?bp->numhashes:0);
//printf("%s request HDR.(%s) numhashes.%d\n",addr!=0?addr->ipaddr:"local",hashstr,bp!=0?bp->numhashes:0);
iguana_send(coin,addr,serialized,datalen);
addr->pendhdrs++;
flag++;

28
iguana/iguana_unspents.c

@ -159,7 +159,7 @@ int32_t iguana_volatileupdate(struct iguana_info *coin,int32_t incremental,struc
uint32_t iguana_sparseadd(uint8_t *bits,uint32_t ind,int32_t width,uint32_t tablesize,uint8_t *key,int32_t keylen,uint32_t setind,void *refdata,int32_t refsize,struct iguana_ramchain *ramchain)
{
static uint8_t masks[8] = { 1, 2, 4, 8, 16, 32, 64, 128 };
int32_t i,j,x,n,modval; int64_t bitoffset; uint8_t *ptr; uint32_t *table;
int32_t i,j,x,n,modval; int64_t bitoffset; uint8_t *ptr; uint32_t *table,retval = 0;
if ( tablesize == 0 )
{
printf("iguana_sparseadd tablesize zero illegal\n");
@ -188,10 +188,32 @@ uint32_t iguana_sparseadd(uint8_t *bits,uint32_t ind,int32_t width,uint32_t tabl
ramchain->sparsesearches++;
if ( (ramchain->sparsesearches % 10000000) == 0 )
printf("%7d.[%-2d %8d] %5.3f sparse searches.%-10ld iters.%-10ld hits.%-10ld %5.2f%% max.%ld\n",ramchain->height,width,tablesize,(double)ramchain->sparseiters/(1+ramchain->sparsesearches),ramchain->sparsesearches,ramchain->sparseiters,ramchain->sparsehits,100.*(double)ramchain->sparsehits/(1+ramchain->sparsesearches),ramchain->sparsemax+1);
if ( 0 && width == 32 )
if ( width == 32 )
{
table = (uint32_t *)bits;
for (i=0; i<tablesize; i++,ind++)
{
if ( ind >= tablesize )
ind = 0;
if ( (x= table[ind]) == 0 )
{
if ( (retval= setind) != 0 )
table[ind] = setind;
}
else if ( memcmp((void *)(long)((long)refdata + x*refsize),key,keylen) == 0 )
{
if ( setind == 0 )
ramchain->sparsehits++;
else if ( setind != x )
printf("sparseadd index collision setind.%d != x.%d refsize.%d keylen.%d\n",setind,x,refsize,keylen);
retval = x;
} else continue;
if ( ++i > ramchain->sparsemax )
ramchain->sparsemax = i;
ramchain->sparseiters += i;
return(retval);
}
/*for (i=0; i<tablesize; i++,ind++)
{
if ( ind >= tablesize )
ind = 0;
@ -215,7 +237,7 @@ uint32_t iguana_sparseadd(uint8_t *bits,uint32_t ind,int32_t width,uint32_t tabl
ramchain->sparseiters += i;
return(x);
}
}
}*/
}
else
{

Loading…
Cancel
Save