@ -448,13 +448,13 @@ static int32_t revsortds(double *buf,uint32_t num,int32_t size)
void iguana_bundlestats ( struct iguana_info * coin , char * str )
void iguana_bundlestats ( struct iguana_info * coin , char * str )
{
{
static uint32_t lastdisp ;
static uint32_t lastdisp ;
int32_t i , n , m , count , dispflag , numrecv , done , numhashes , numcached , numsaved , numemit ;
int32_t i , n , m , count , pending , dispflag , numrecv , done , numhashes , numcached , numsaved , numemit ;
int64_t estsize = 0 ; struct iguana_bundle * bp , * firstgap = 0 ; double * sortbuf ; struct iguana_peer * addr ;
int64_t estsize = 0 ; struct iguana_bundle * bp , * lastpending = 0 , * firstgap = 0 ; double * sortbuf ; struct iguana_peer * addr ;
dispflag = ( rand ( ) % 1000 ) = = 0 ;
dispflag = ( rand ( ) % 1000 ) = = 0 ;
numrecv = numhashes = numcached = numsaved = numemit = done = 0 ;
numrecv = numhashes = numcached = numsaved = numemit = done = 0 ;
count = coin - > bundlescount ;
count = coin - > bundlescount ;
sortbuf = calloc ( count , sizeof ( * sortbuf ) * 2 ) ;
sortbuf = calloc ( count , sizeof ( * sortbuf ) * 2 ) ;
for ( i = n = m = 0 ; i < count ; i + + )
for ( i = n = m = pending = 0 ; i < count ; i + + )
{
{
if ( ( bp = coin - > bundles [ i ] ) ! = 0 )
if ( ( bp = coin - > bundles [ i ] ) ! = 0 )
{
{
@ -475,6 +475,8 @@ void iguana_bundlestats(struct iguana_info *coin,char *str)
{
{
if ( firstgap = = 0 )
if ( firstgap = = 0 )
firstgap = bp ;
firstgap = bp ;
else if ( pending + + = = coin - > MAXPENDING )
lastpending = bp ;
sortbuf [ m * 2 ] = bp - > metric ;
sortbuf [ m * 2 ] = bp - > metric ;
sortbuf [ m * 2 + 1 ] = i ;
sortbuf [ m * 2 + 1 ] = i ;
m + + ;
m + + ;
@ -507,6 +509,8 @@ void iguana_bundlestats(struct iguana_info *coin,char *str)
tmp % = 1000000000 ;
tmp % = 1000000000 ;
difft . millis = ( ( double ) tmp / 1000000. ) ;
difft . millis = ( ( double ) tmp / 1000000. ) ;
coin - > current = firstgap ;
coin - > current = firstgap ;
if ( lastpending ! = 0 )
coin - > lastpending = lastpending ;
coin - > numsaved = numsaved ;
coin - > numsaved = numsaved ;
sprintf ( str , " 1st.%d N[%d] Q.%d h.%d r.%d c.%d:%d:%d s.%d d.%d E.%d:%d M.%d L.%d est.%d %s %d:%02d:%02d %03.3f peers.%d/%d Q.(%d %d) " , firstgap ! = 0 ? firstgap - > hdrsi : 0 , count , coin - > numbundlesQ , numhashes , coin - > blocksrecv , coin - > numcached , numcached , coin - > cachefreed , numsaved , done , numemit , coin - > numreqsent , coin - > blocks . hwmchain . height , coin - > longestchain , coin - > MAXBUNDLES , mbstr ( str2 , estsize ) , ( int32_t ) difft . x / 3600 , ( int32_t ) ( difft . x / 60 ) % 60 , ( int32_t ) difft . x % 60 , difft . millis , p , coin - > MAXPEERS , queue_size ( & coin - > priorityQ ) , queue_size ( & coin - > blocksQ ) ) ;
sprintf ( str , " 1st.%d N[%d] Q.%d h.%d r.%d c.%d:%d:%d s.%d d.%d E.%d:%d M.%d L.%d est.%d %s %d:%02d:%02d %03.3f peers.%d/%d Q.(%d %d) " , firstgap ! = 0 ? firstgap - > hdrsi : 0 , count , coin - > numbundlesQ , numhashes , coin - > blocksrecv , coin - > numcached , numcached , coin - > cachefreed , numsaved , done , numemit , coin - > numreqsent , coin - > blocks . hwmchain . height , coin - > longestchain , coin - > MAXBUNDLES , mbstr ( str2 , estsize ) , ( int32_t ) difft . x / 3600 , ( int32_t ) ( difft . x / 60 ) % 60 , ( int32_t ) difft . x % 60 , difft . millis , p , coin - > MAXPEERS , queue_size ( & coin - > priorityQ ) , queue_size ( & coin - > blocksQ ) ) ;
//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));
//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));