Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
6a9983e4a4
  1. 4
      iguana/iguana777.c
  2. 29
      iguana/iguana_peers.c

4
iguana/iguana777.c

@ -181,7 +181,7 @@ int32_t iguana_peermetrics(struct iguana_info *coin)
coin->peers.avemetric = (sum / i);
if ( i >= (coin->MAXPEERS - 1) && slowest != 0 )
{
printf("prune slowest peer.(%s) numranked.%d\n",slowest->ipaddr,n);
printf("prune slowest peer.(%s) numranked.%d MAXPEERS.%d\n",slowest->ipaddr,n,coin->MAXPEERS);
slowest->dead = 1;
}
}
@ -364,7 +364,7 @@ void iguana_helper(void *arg)
fp = fopen(fname,"wb");*/
if ( argjson != 0 )
free_json(argjson);
printf("HELPER.%d started arg.(%s)\n",helperid,arg!=0?arg:0);
printf("HELPER.%d started arg.(%s)\n",helperid,(char *)(arg!=0?arg:0));
memset(&MEM,0,sizeof(MEM));
MEMB = mycalloc('b',IGUANA_MAXBUNDLESIZE,sizeof(*MEMB));
while ( 1 )

29
iguana/iguana_peers.c

@ -117,7 +117,7 @@ uint32_t iguana_rwiAddrind(struct iguana_info *coin,int32_t rwflag,struct iguana
{
fseek(fp,0,SEEK_END);
n = (int32_t)(ftell(fp) / sizeof(*iA));
for (i=m=0; i<n; i++)
for (i=m=1; i<n; i++)
{
fseek(fp,i * sizeof(tmp),SEEK_SET);
if ( ftell(fp) == i*sizeof(tmp) && fread(&tmp,1,sizeof(tmp),fp) == sizeof(tmp) && tmp.ipbits != 0 )
@ -133,29 +133,26 @@ uint32_t iguana_rwiAddrind(struct iguana_info *coin,int32_t rwflag,struct iguana
ptr->hh.itemind = m;
ptr->ipbits = tmp.ipbits;
HASH_ADD(hh,coin->iAddrs,ipbits,sizeof(ipbits),ptr);
if ( i != m )
{
tmp.hh.itemind = m;
fseek(fp,m*sizeof(tmp),SEEK_SET);
fwrite(&tmp,1,sizeof(tmp),fp);
}
//printf("rwiAddrind m.%d %x\n",m,(uint32_t)tmp.ipbits);
tmp.hh.itemind = m;
fseek(fp,m*sizeof(tmp),SEEK_SET);
fwrite(&tmp,1,sizeof(tmp),fp);
expand_ipbits(hexstr,ipbits);
printf("create rwiAddrind m.%-4d %08x %s\n",m,(uint32_t)tmp.ipbits,hexstr);
m++;
coin->numiAddrs = m;
expand_ipbits(hexstr,ipbits);
iguana_possible_peer(coin,hexstr);
}
else
/*else
{
expand_ipbits(hexstr,ipbits);
printf("status.%d ipbits.%x\n",tmp.status,(uint32_t)ipbits);
//printf("status.%d ipbits.%x\n",tmp.status,(uint32_t)ipbits);
tmp.status = 0;
fseek(fp,i * sizeof(tmp),SEEK_SET);
if ( fwrite(&tmp,1,sizeof(tmp),fp) != sizeof(tmp) )
printf("error writing peer.%d\n",i);
}
}*/
portable_mutex_unlock(&coin->peers_mutex);
} else printf("skip.%d ipbits.%x\n",i,(uint32_t)ipbits);
}
}
fclose(fp);
printf("i.%d m.%d numiAddrs.%d\n",i,m,coin->numiAddrs);
@ -210,7 +207,7 @@ uint32_t iguana_rwiAddrind(struct iguana_info *coin,int32_t rwflag,struct iguana
if ( (iA= iguana_iAddrhashset(coin,iA,ind)) != 0 )
{
retval = iA->hh.itemind+1;
printf("W %p ipbits.%x ind.%d saved iA->ind.%d retval.%d numiAddrs.%d\n",iA,(uint32_t)ipbits,ind,iA->hh.itemind,retval,coin->numiAddrs);
printf("W status.%d ipbits.%x ind.%d saved iA->ind.%d retval.%d numiAddrs.%d\n",iA->status,(uint32_t)ipbits,ind,iA->hh.itemind,retval,coin->numiAddrs);
}
}
} else printf("iAddr: error seeking.[%d] %ld vs %ld\n",ind,ftell(fp),ind * sizeof(*iA));
@ -709,7 +706,7 @@ void *iguana_iAddriterator(struct iguana_info *coin,struct iguana_iAddr *iA)
//portable_mutex_unlock(&coin->peers_mutex);
if ( (addr= iguana_peerslot(coin,iA->ipbits,0)) != 0 )
{
printf("pend.%d status.%d possible peer.(%s).%x threads %d %d %d %d\n",addr->pending,iA->status,addr->ipaddr,(uint32_t)addr->ipbits,iguana_numthreads(coin,0),iguana_numthreads(coin,1),iguana_numthreads(coin,2),iguana_numthreads(coin,3));
//printf("pend.%d status.%d possible peer.(%s).%x threads %d %d %d %d\n",addr->pending,iA->status,addr->ipaddr,(uint32_t)addr->ipbits,iguana_numthreads(coin,0),iguana_numthreads(coin,1),iguana_numthreads(coin,2),iguana_numthreads(coin,3));
if ( addr->pending == 0 && iA->status != IGUANA_PEER_CONNECTING )
{
if ( iguana_rwiAddrind(coin,1,iA,iA->hh.itemind) > 0 )
@ -774,7 +771,7 @@ uint32_t iguana_possible_peer(struct iguana_info *coin,char *ipaddr)
expand_ipbits(checkaddr,ipbits);
if ( strcmp(checkaddr,ipaddr) == 0 )
{
printf("valid ipaddr.(%s) MAXPEERS.%d\n",ipaddr,coin->MAXPEERS);
//printf("valid ipaddr.(%s) MAXPEERS.%d\n",ipaddr,coin->MAXPEERS);
if ( (iA= iguana_iAddrhashfind(coin,ipbits,1)) != 0 )
{
if ( iA->status != IGUANA_PEER_CONNECTING && iA->status != IGUANA_PEER_READY && iA->status != IGUANA_PEER_ELIGIBLE )

Loading…
Cancel
Save