jl777 8 years ago
parent
commit
0b311616ac
  1. 49
      iguana/iguana_init.c
  2. 5
      iguana/iguana_peers.c
  3. 2
      iguana/iguana_spendvectors.c
  4. 2
      includes/iguana_structs.h

49
iguana/iguana_init.c

@ -400,14 +400,18 @@ void iguana_parseline(struct supernet_info *myinfo,struct iguana_info *coin,int3
long iguana_bundlesload(struct supernet_info *myinfo,struct iguana_info *coin) long iguana_bundlesload(struct supernet_info *myinfo,struct iguana_info *coin)
{ {
char fname[1024]; int32_t iter = 1; FILE *fp; long fpos = -1; char fname[1024]; int32_t iter; FILE *fp; long fpos = -1;
sprintf(fname,"%s/%s_%s.txt",GLOBAL_CONFSDIR,coin->symbol,(iter == 0) ? "peers" : "hdrs"), OS_compatible_path(fname); for (iter=0; iter<2; iter++)
if ( (fp= fopen(fname,"r")) != 0 )
{ {
iguana_parseline(myinfo,coin,iter,fp); sprintf(fname,"%s/%s_%s.txt",GLOBAL_CONFSDIR,coin->symbol,(iter == 0) ? "hdrs" : "oldhdrs"), OS_compatible_path(fname);
printf("done parsefile.%d (%s) size.%ld\n",iter,fname,fpos); if ( (fp= fopen(fname,"r")) != 0 )
fpos = ftell(fp); {
fclose(fp); iguana_parseline(myinfo,coin,1,fp);
printf("done parsefile.%d (%s) size.%ld\n",iter,fname,fpos);
fpos = ftell(fp);
fclose(fp);
break;
}
} }
return(fpos); return(fpos);
} }
@ -511,7 +515,7 @@ void iguana_coinpurge(struct iguana_info *coin)
struct iguana_info *iguana_coinstart(struct supernet_info *myinfo,struct iguana_info *coin,int32_t initialheight,int32_t mapflags) struct iguana_info *iguana_coinstart(struct supernet_info *myinfo,struct iguana_info *coin,int32_t initialheight,int32_t mapflags)
{ {
FILE *fp; char fname[512],*symbol; int32_t iter; long fpos; bits256 lastbundle; FILE *fp; char fname[512],*symbol; int32_t j,iter; long fpos; bits256 lastbundle;
/*if ( coin->peers == 0 ) /*if ( coin->peers == 0 )
{ {
printf("cant start privatechain directly\n"); printf("cant start privatechain directly\n");
@ -604,21 +608,26 @@ struct iguana_info *iguana_coinstart(struct supernet_info *myinfo,struct iguana_
{ {
} }
#endif #endif
sprintf(fname,"%s/%s_%s.txt",GLOBAL_CONFSDIR,coin->symbol,(iter == 0) ? "peers" : "hdrs"), OS_compatible_path(fname); fpos = -1;
//sprintf(fname,"confs/%s_%s.txt",coin->symbol,(iter == 0) ? "peers" : "hdrs"); for (j=0; j<2; j++)
//sprintf(fname,"tmp/%s/%s.txt",coin->symbol,(iter == 0) ? "peers" : "hdrs");
OS_compatible_path(fname);
if ( (fp= fopen(fname,"r")) != 0 )
{ {
if ( coin->virtualchain == 0 || iter > 0 ) sprintf(fname,"%s/%s_%s%s.txt",GLOBAL_CONFSDIR,coin->symbol,j==0?"":"old",(iter == 0) ? "peers" : "hdrs"), OS_compatible_path(fname);
//sprintf(fname,"confs/%s_%s.txt",coin->symbol,(iter == 0) ? "peers" : "hdrs");
//sprintf(fname,"tmp/%s/%s.txt",coin->symbol,(iter == 0) ? "peers" : "hdrs");
OS_compatible_path(fname);
if ( (fp= fopen(fname,"r")) != 0 )
{ {
printf("parsefile.%d %s\n",iter,fname); if ( coin->virtualchain == 0 || iter > 0 )
iguana_parseline(myinfo,coin,iter,fp); {
printf("done parsefile.%d (%s) size.%ld\n",iter,fname,fpos); printf("parsefile.%d %s\n",iter,fname);
iguana_parseline(myinfo,coin,iter,fp);
printf("done parsefile.%d (%s) size.%ld\n",iter,fname,fpos);
}
fpos = ftell(fp);
fclose(fp);
break;
} }
fpos = ftell(fp); }
fclose(fp);
} else fpos = -1;
} }
#ifndef IGUANA_DEDICATED_THREADS #ifndef IGUANA_DEDICATED_THREADS
coin->peers->peersloop = iguana_launch("peersloop",iguana_peersloop,coin,IGUANA_PERMTHREAD); coin->peers->peersloop = iguana_launch("peersloop",iguana_peersloop,coin,IGUANA_PERMTHREAD);

5
iguana/iguana_peers.c

@ -666,7 +666,10 @@ void _iguana_processmsg(struct supernet_info *myinfo,struct iguana_info *coin,in
printf("%s recv error on (%s) len.%d errno.%d (%s)\n",addr->ipaddr,H.command,len,-recvlen,strerror(-recvlen)); printf("%s recv error on (%s) len.%d errno.%d (%s)\n",addr->ipaddr,H.command,len,-recvlen,strerror(-recvlen));
if ( buf != _buf ) if ( buf != _buf )
myfree(buf,len); myfree(buf,len);
//addr->dead = (uint32_t)time(NULL); if ( addr->numrecverrs++ > 10 )
{
addr->dead = (uint32_t)time(NULL);
}
return; return;
} }
} }

2
iguana/iguana_spendvectors.c

@ -56,7 +56,7 @@ int32_t iguana_spendvectorsave(struct iguana_info *coin,struct iguana_bundle *bp
int32_t i,retval = -1; FILE *fp; char fname[1024],str[65]; long fsize; bits256 zero,sha256; int32_t i,retval = -1; FILE *fp; char fname[1024],str[65]; long fsize; bits256 zero,sha256;
if ( ptr == 0 || (bp->hdrsi != 0 && ptr == bp->ramchain.Xspendinds) ) if ( ptr == 0 || (bp->hdrsi != 0 && ptr == bp->ramchain.Xspendinds) )
{ {
printf("iguana_spendvectorsave.[%d] ptr.%p Xspendinds\n",bp->hdrsi,ptr); //printf("iguana_spendvectorsave.[%d] ptr.%p Xspendinds\n",bp->hdrsi,ptr);
return(0); return(0);
} }
memset(zero.bytes,0,sizeof(zero)); memset(zero.bytes,0,sizeof(zero));

2
includes/iguana_structs.h

@ -341,7 +341,7 @@ struct iguana_peer
struct iguana_msgaddress A; struct iguana_msgaddress A;
char ipaddr[64],lastcommand[16],coinname[64],symbol[64]; char ipaddr[64],lastcommand[16],coinname[64],symbol[64];
uint64_t pingnonce,totalsent,totalrecv,ipbits; double pingtime,sendmillis,pingsum,getdatamillis; uint64_t pingnonce,totalsent,totalrecv,ipbits; double pingtime,sendmillis,pingsum,getdatamillis;
uint32_t lastcontact,sendtime,ready,startsend,startrecv,pending,lastgotaddr,lastblockrecv,pendtime,lastflush,lastpoll,myipbits,persistent_peer,protover; uint32_t lastcontact,sendtime,ready,startsend,startrecv,pending,lastgotaddr,lastblockrecv,pendtime,lastflush,lastpoll,myipbits,persistent_peer,protover,numrecverrs;
int32_t supernet,basilisk,dead,addrind,usock,lastheight,relayflag,numpackets,numpings,ipv6,height,rank,pendhdrs,pendblocks,recvhdrs,lastlefti,validpub,othervalid,dirty[2],laggard,headerserror,lastsent,isrelay; int32_t supernet,basilisk,dead,addrind,usock,lastheight,relayflag,numpackets,numpings,ipv6,height,rank,pendhdrs,pendblocks,recvhdrs,lastlefti,validpub,othervalid,dirty[2],laggard,headerserror,lastsent,isrelay;
double recvblocks,recvtotal; double recvblocks,recvtotal;
int64_t allocated,freed; int64_t allocated,freed;

Loading…
Cancel
Save