From efe7328981e7f1a1160cee34165c27fff94a8c5a Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 26 Jun 2016 07:41:25 -0300 Subject: [PATCH] test --- basilisk/basilisk.c | 27 ++++++++++++++------------- basilisk/basilisk.h | 2 +- basilisk/basilisk_CMD.c | 2 +- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/basilisk/basilisk.c b/basilisk/basilisk.c index 95a2a9de8..576a30584 100755 --- a/basilisk/basilisk.c +++ b/basilisk/basilisk.c @@ -690,21 +690,22 @@ void basilisks_loop(void *arg) } } //portable_mutex_unlock(&myinfo->allcoins_mutex); - } - if ( myinfo->RELAYID >= 0 ) - { - struct basilisk_relay *rp; int32_t i,j,datalen=0; uint8_t data[1024]; - for (i=0; inumrelays; i++) + if ( myinfo->RELAYID >= 0 ) { - rp = &myinfo->relays[i]; - if ( rp->addr != 0 && rp->addr->usock >= 0 ) + struct iguana_peer *addr; struct basilisk_relay *rp; int32_t i,j,datalen=0; uint8_t data[1024]; + for (i=0; inumrelays; i++) { - data[datalen++] = myinfo->numrelays; - for (j=0; jnumrelays; j++) - data[datalen++] = myinfo->relays[j].status; - if ( iguana_queue_send(rp->addr,0,&data[sizeof(struct iguana_msghdr)],"SuperNET",datalen) != datalen ) - printf("error sending %d to (%s)\n",datalen,rp->addr->ipaddr); - else printf("sent %d to (%s)\n",datalen,rp->addr->ipaddr); + rp = &myinfo->relays[i]; + if ( (addr= iguana_peerfindipbits(btcd,rp->ipbits,1)) != 0 && addr->usock >= 0 ) + { + data[datalen++] = myinfo->numrelays; + for (j=0; jnumrelays; j++) + data[datalen++] = myinfo->relays[j].status; + if ( iguana_queue_send(addr,0,&data[sizeof(struct iguana_msghdr)],"SuperNET",datalen) != datalen ) + printf("error sending %d to (%s)\n",datalen,addr->ipaddr); + else printf("sent %d to (%s)\n",datalen,addr->ipaddr); + flag++; + } } } } diff --git a/basilisk/basilisk.h b/basilisk/basilisk.h index faba883fb..b1d44b0ef 100755 --- a/basilisk/basilisk.h +++ b/basilisk/basilisk.h @@ -47,7 +47,7 @@ struct basilisk_info struct basilisk_relay { - bits256 pubkey; uint32_t ipbits; struct iguana_peer *addr; + bits256 pubkey; uint32_t ipbits; uint8_t status,pubkey33[33]; }; diff --git a/basilisk/basilisk_CMD.c b/basilisk/basilisk_CMD.c index a2adad31d..8b6c11553 100755 --- a/basilisk/basilisk_CMD.c +++ b/basilisk/basilisk_CMD.c @@ -62,7 +62,7 @@ char *basilisk_addrelay_info(struct supernet_info *myinfo,uint8_t *pubkey33,uint printf("add relay[%d] <- %x\n",i,ipbits); rp = &myinfo->relays[i]; rp->ipbits = ipbits; - rp->addr = basilisk_ensurerelay(myinfo,btcd,rp->ipbits); + basilisk_ensurerelay(myinfo,btcd,rp->ipbits); if ( myinfo->numrelays < sizeof(myinfo->relays)/sizeof(*myinfo->relays) ) myinfo->numrelays++; for (i=0; inumrelays; i++)