From 392957a2a515d46f99d512880c76e268f8c397d2 Mon Sep 17 00:00:00 2001 From: jl777 Date: Wed, 6 Apr 2016 19:40:32 -0500 Subject: [PATCH] test --- iguana/iguana_bundles.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/iguana/iguana_bundles.c b/iguana/iguana_bundles.c index fb5049d0d..b39c054c5 100755 --- a/iguana/iguana_bundles.c +++ b/iguana/iguana_bundles.c @@ -654,16 +654,16 @@ int32_t iguana_bundleready(struct iguana_info *coin,struct iguana_bundle *bp) int32_t iguana_bundleissuemissing(struct iguana_info *coin,struct iguana_bundle *bp,uint8_t *missings,int32_t priority,double mult) { - int32_t i,tmp,tmp2,n=0; bits256 hash2; double aveduration; + int32_t i,tmp,num,tmp2,n=0; bits256 hash2; double aveduration; struct iguana_peer *addr; if ( bp->emitfinish != 0 || (priority == 0 && time(NULL) < bp->missingstime+30) ) return(0); if ( bp->durationscount != 0 ) aveduration = (double)bp->totaldurations / bp->durationscount; else aveduration = IGUANA_DEFAULTLAG/3 + 1; aveduration *= mult; - if ( 1 || priority == 3 ) + if ( priority == 3 ) n = iguana_bundlerequests(coin,missings,&tmp,&tmp2,mult,bp,priority); - else if ( 0 ) + else { for (i=0; in; i++) { @@ -678,7 +678,9 @@ int32_t iguana_bundleissuemissing(struct iguana_info *coin,struct iguana_bundle { if ( 0 && bp == coin->current ) printf("iguana_bundleissuemissing.[%d:%d]\n",bp->hdrsi,i); - iguana_blockQ("missings",coin,bp,i,hash2,1); + if ( (num= coin->peers.numranked) != 0 && (addr= coin->peers.ranked[rand() % num]) != 0 && addr->usock >= 0 && addr->dead == 0 ) + iguana_sendblockreqPT(coin,addr,bp,i,hash2,0); + //iguana_blockQ("missings",coin,bp,i,hash2,1); n++; } } @@ -1002,14 +1004,14 @@ double iguana_bundlemissings(struct iguana_info *coin,struct iguana_bundle *bp,d 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. ) - mult = ((bp == coin->current) ? (strcmp("BTC",coin->symbol) != 0 ? .5 : 2) : 7.); - else mult = 3.; - if ( mult > 2 && bp->numcached > .95*bp->n ) + mult = ((bp == coin->current) ? (strcmp("BTC",coin->symbol) != 0 ? 1. : 3) : 7.); + else mult = 5.; + /*if ( mult > 2 && bp->numcached > .95*bp->n ) { if ( bp->numcached > .99*bp->n ) mult = 2.; else mult = 1.; - } + }*/ if ( bp->numissued < bp->n ) max = bp->numissued; else max = bp->origmissings; @@ -1228,7 +1230,7 @@ void iguana_bundlestats(struct iguana_info *coin,char *str,int32_t lag) if ( bp->durationscount != 0 ) aveduration = (double)bp->totaldurations / bp->durationscount; else aveduration = IGUANA_DEFAULTLAG/3 + 1; - if ( (n= iguana_bundlerequests(coin,missings,&tmp,&tmp2,1.,bp,priority)) > 0 ) + if ( (n= iguana_bundlerequests(coin,missings,&tmp,&tmp2,3.,bp,priority)) > 0 ) printf("issued %d priority requests [%d] to unstick stuckiters.%d lag.%d\n",n,bp->hdrsi,coin->stuckiters,lag); //else printf("no bundlerequests issued\n"); }