diff --git a/iguana/exchanges/LP_forwarding.c b/iguana/exchanges/LP_forwarding.c index a1c2c516e..a1adb0d91 100644 --- a/iguana/exchanges/LP_forwarding.c +++ b/iguana/exchanges/LP_forwarding.c @@ -115,7 +115,7 @@ char *LP_forward(bits256 pubkey,char *hexstr) } else return(clonestr("{\"error\":\"notfound\"}")); } -void LP_forwarding_register(bits256 pubkey,char *pushaddr,int32_t broadcastflag) +void LP_forwarding_register(bits256 pubkey,char *pushaddr,int32_t max) { char *retstr; cJSON *retjson; struct LP_peerinfo *peer,*tmp; int32_t n=0,retval = -1; if ( pushaddr == 0 || pushaddr[0] == 0 || bits256_nonz(pubkey) == 0 ) @@ -125,22 +125,19 @@ void LP_forwarding_register(bits256 pubkey,char *pushaddr,int32_t broadcastflag) } HASH_ITER(hh,LP_peerinfos,peer,tmp) { - if ( broadcastflag == 0 && (rand() % 100) < 66 ) - continue; if ( (retstr= issue_LP_register(peer->ipaddr,peer->port,pubkey,pushaddr)) != 0 ) { printf("[%s] LP_register.(%s) returned.(%s)\n",pushaddr,peer->ipaddr,retstr); if ( (retjson= cJSON_Parse(retstr)) != 0 ) { - if ( jint(retjson,"registered") != 0 ) + if ( jint(retjson,"registered") != 0 && ++n >= max ) retval = 0; free_json(retjson); } free(retstr); } - if ( broadcastflag == 0 && retval == 0 ) + if ( retval == 0 ) break; - n++; } } diff --git a/iguana/exchanges/LP_nativeDEX.c b/iguana/exchanges/LP_nativeDEX.c index 1e4061be7..f4f625476 100644 --- a/iguana/exchanges/LP_nativeDEX.c +++ b/iguana/exchanges/LP_nativeDEX.c @@ -253,7 +253,7 @@ void LP_mainloop(char *myipaddr,struct LP_peerinfo *mypeer,uint16_t mypubport,in now = (uint32_t)time(NULL); if ( lastforward < now-3600 ) { - LP_forwarding_register(LP_mypubkey,pushaddr,1); + LP_forwarding_register(LP_mypubkey,pushaddr,10); lastforward = now; } nonz = n = 0; @@ -294,7 +294,7 @@ void LP_mainloop(char *myipaddr,struct LP_peerinfo *mypeer,uint16_t mypubport,in now = (uint32_t)time(NULL); if ( lastforward < now-3600 ) { - LP_forwarding_register(LP_mypubkey,pushaddr,1); + LP_forwarding_register(LP_mypubkey,pushaddr,10); lastforward = now; } //printf("start peers updates\n");