Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
8813ad807c
  1. 2
      iguana/iguana777.c
  2. 33
      iguana/iguana_bundles.c
  3. 2
      iguana/iguana_ramchain.c
  4. 12
      iguana/iguana_unspents.c
  5. 2
      iguana/m_unix

2
iguana/iguana777.c

@ -507,7 +507,7 @@ void iguana_helper(void *arg)
flag++;
}
}
if ( queue_size(&spendvectorsQ) != 0 || queue_size(&bundlesQ) > 10 )
if ( queue_size(&spendvectorsQ) != 0 || queue_size(&convertQ) != 0 || queue_size(&bundlesQ) > 10 )
allcurrent = 0;
if ( flag != 0 )
usleep(polltimeout * 250);

33
iguana/iguana_bundles.c

@ -953,6 +953,17 @@ double iguana_bundlemissings(struct iguana_info *coin,struct iguana_bundle *bp,d
missing = iguana_blocksmissing(coin,&avail,missings,0,bp,0,lag);
priority = (strcmp("BTC",coin->symbol) != 0) * 2;
lag = IGUANA_DEFAULTLAG;
if ( bp->durationscount != 0 )
{
aveduration = (double)bp->totaldurations / bp->durationscount;
if ( bp->duplicatescount != 0 )
aveduplicates = (double)bp->duplicatedurations / bp->duplicatescount;
else aveduplicates = 3 * aveduration;
if ( (rand() % 10000) == 0 )
printf("priority.%d [%d] dist.%d durations %.2f vs %.2f counts[%d %d] \n",priority,bp->hdrsi,dist,aveduration,aveduplicates,(int32_t)bp->durationscount,bp->duplicatescount);
}
if ( aveduration != 0. )
lag = ((bp == coin->current) ? 2 : 7) * aveduration + 3;
if ( bp->numissued < bp->n )
max = bp->numissued;
else max = bp->origmissings;
@ -966,21 +977,17 @@ double iguana_bundlemissings(struct iguana_info *coin,struct iguana_bundle *bp,d
if ( bp == coin->current || queue_size(&coin->priorityQ) < (1 * bp->n)/(dist+1) )
{
//printf("[%d] dist.%d numcached.%d priority.%d\n",bp->hdrsi,dist,bp->numcached,priority);
iguana_bundleissuemissing(coin,bp,missings,((rand() % 100) == 0 && bp == coin->current)*3);
//iguana_bundleissuemissing(coin,bp,missings,((rand() % 100) == 0 && bp == coin->current)*3);
priority = ((rand() % 20) == 0 && bp == coin->current) * 3;
if ( (n= iguana_bundlerequests(coin,missings,&bp->origmissings,&tmp,bp,lag,priority)) > 0 )
{
bp->numissued += n;
bp->missingstime = (uint32_t)time(NULL);
}
return(aveduration);
}
}
}
if ( bp->durationscount != 0 )
{
aveduration = (double)bp->totaldurations / bp->durationscount;
if ( bp->duplicatescount != 0 )
aveduplicates = (double)bp->duplicatedurations / bp->duplicatescount;
else aveduplicates = 3 * aveduration;
if ( (rand() % 10000) == 0 )
printf("priority.%d [%d] dist.%d durations %.2f vs %.2f counts[%d %d] \n",priority,bp->hdrsi,dist,aveduration,aveduplicates,(int32_t)bp->durationscount,bp->duplicatescount);
}
if ( aveduration != 0. )
lag = ((bp == coin->current) ? 2 : 7) * aveduration + 3;
if ( (n= iguana_bundlerequests(coin,missings,&bp->origmissings,&tmp,bp,lag,priority)) > 0 )
{
bp->numissued += n;
@ -1184,7 +1191,7 @@ void iguana_bundlestats(struct iguana_info *coin,char *str,int32_t lag)
//sprintf(str+strlen(str),"%s.%-2d %s time %.2f files.%d Q.%d %d\n",coin->symbol,flag,str,(double)(time(NULL)-coin->starttime)/60.,coin->peers.numfiles,queue_size(&coin->priorityQ),queue_size(&coin->blocksQ));
if ( time(NULL) > coin->lastdisp+3 && (strcmp(str,coin->lastdispstr) != 0 || time(NULL) > coin->lastdisp+60) )
{
printf("\n%s bQ.%d %d:%02d:%02d stuck.%d max.%d\n",str,coin->numbundlesQ,(int32_t)difft.x/3600,(int32_t)(difft.x/60)%60,(int32_t)difft.x%60,coin->stucktime!=0?(uint32_t)time(NULL) - coin->stucktime:0,coin->maxstuck);
printf("\n%s bQ.%d %d:%02d:%02d stuck.%d max.%d\n",str,queue_size(&bundlesQ),(int32_t)difft.x/3600,(int32_t)(difft.x/60)%60,(int32_t)difft.x%60,coin->stucktime!=0?(uint32_t)time(NULL) - coin->stucktime:0,coin->maxstuck);
strcpy(coin->lastdispstr,str);
if ( (rand() % 100) == 0 )
myallocated(0,0);

2
iguana/iguana_ramchain.c

@ -704,7 +704,7 @@ int32_t iguana_ramchain_prefetch(struct iguana_info *coin,struct iguana_ramchain
nonz++;
}
}
printf("PREFETCH.[%d] flag.%d -> nonz.%d\n",ramchain->H.data->height,flag,nonz);
//printf("PREFETCH.[%d] flag.%d -> nonz.%d\n",ramchain->H.data->height,flag,nonz);
return(nonz);
}

12
iguana/iguana_unspents.c

@ -456,6 +456,7 @@ struct iguana_bundle *iguana_externalspent(struct iguana_info *coin,bits256 *pre
}
else
{
now = (uint32_t)time(NULL);
prev_vout = s->prevout;
startmillis = OS_milliseconds();
iguana_ramchain_spendtxid(coin,&unspentind,&prev_hash,T,ramchain->H.data->numtxids,X,ramchain->H.data->numexternaltxids,s);
@ -477,7 +478,6 @@ struct iguana_bundle *iguana_externalspent(struct iguana_info *coin,bits256 *pre
*unspentindp = unspentind;
if ( unspentind == 0 )
{
now = (uint32_t)time(NULL);
startmillis = OS_milliseconds();
if ( (tp= iguana_txidfind(coin,&height,&TX,prev_hash,spent_hdrsi-1)) != 0 )
{
@ -1788,7 +1788,7 @@ int32_t iguana_spendvectorsaves(struct iguana_info *coin)
}
}
coin->spendvectorsaved = (uint32_t)time(NULL);
return(0);
return(n);
}
int32_t iguana_spendvectorconvs(struct iguana_info *coin,struct iguana_bundle *spentbp)
@ -1860,7 +1860,13 @@ void iguana_convert(struct iguana_info *coin,struct iguana_bundle *bp)
total += converted;
printf("[%4d] millis %7.3f converted.%-7d balance calc.%-4d of %4d | total.%llu of %llu depth.%d\n",bp->hdrsi,OS_milliseconds()-startmillis,converted,m,n,(long long)total,(long long)total_tmpspends,(int32_t)depth);
if ( m == n-1 )
iguana_spendvectorsaves(coin);
{
if ( iguana_spendvectorsaves(coin) == m )
{
for (i=0; i<m; i++)
iguana_balancesQ(coin,coin->bundles[i]);
}
}
}
depth--;
}

2
iguana/m_unix

@ -1,3 +1,5 @@
#./configure --enable-endomorphism --enable-module-ecdh --enable-module-schnorr --enable-module-rangeproof --enable-experimental
git pull
gcc -g -Wno-deprecated -c -O2 *.c
gcc -g -Wno-deprecated -c main.c iguana777.c iguana_bundles.c

Loading…
Cancel
Save