Browse Source

Test

etomic
jl777 8 years ago
parent
commit
095474d9a9
  1. 10
      iguana/exchanges/LP_socket.c

10
iguana/exchanges/LP_socket.c

@ -257,10 +257,12 @@ struct electrum_info *electrum_server(char *symbol,struct electrum_info *ep)
portable_mutex_lock(&LP_electrummutex); portable_mutex_lock(&LP_electrummutex);
if ( ep == 0 ) if ( ep == 0 )
{ {
printf("find random electrum.%s\n",symbol);
memset(rbuf,0,sizeof(rbuf)); memset(rbuf,0,sizeof(rbuf));
recent_ep = 0; recent_ep = 0;
recent = (uint32_t)time(NULL) - 300; recent = (uint32_t)time(NULL) - 300;
for (i=0; i<Num_electrums; i++) for (i=0; i<Num_electrums; i++)
{
if ( strcmp(symbol,ep->symbol) == 0 && ep->sock >= 0 ) if ( strcmp(symbol,ep->symbol) == 0 && ep->sock >= 0 )
{ {
if ( ep->lasttime > recent ) if ( ep->lasttime > recent )
@ -275,6 +277,7 @@ struct electrum_info *electrum_server(char *symbol,struct electrum_info *ep)
recent_ep = ep; recent_ep = ep;
} }
} }
}
ep = recent_ep; ep = recent_ep;
printf("n.%d recent.%p\n",n,ep); printf("n.%d recent.%p\n",n,ep);
if ( n > 0 ) if ( n > 0 )
@ -365,7 +368,7 @@ int32_t LP_recvfunc(struct electrum_info *ep,char *str,int32_t len)
void LP_dedicatedloop(void *arg) void LP_dedicatedloop(void *arg)
{ {
struct pollfd fds; int32_t i,len,flag,timeout = 10; struct stritem *sitem; struct electrum_info *ep = arg; struct pollfd fds; int32_t i,len,flag,timeout = 10; struct stritem *sitem; struct electrum_info *ep = arg;
printf("ep.%p for %s:%u num.%d\n",ep,ep->ipaddr,ep->port,Num_electrums); printf("ep.%p sock.%d for %s:%u num.%d %p\n",ep,ep->sock,ep->ipaddr,ep->port,Num_electrums,&Num_electrums);
while ( ep->sock >= 0 ) while ( ep->sock >= 0 )
{ {
flag = 0; flag = 0;
@ -399,6 +402,7 @@ void LP_dedicatedloop(void *arg)
usleep(100000); usleep(100000);
} }
} }
printf("close %s:%u\n",ep->ipaddr,ep->port);
if ( Num_electrums > 0 ) if ( Num_electrums > 0 )
{ {
portable_mutex_lock(&LP_electrummutex); portable_mutex_lock(&LP_electrummutex);
@ -434,6 +438,7 @@ cJSON *electrum_submit(char *symbol,struct electrum_info *ep,cJSON **retjsonp,ch
if ( ep != 0 ) if ( ep != 0 )
{ {
sprintf(stratumreq,"{ \"jsonrpc\":\"2.0\", \"id\": %u, \"method\":\"%s\", \"params\": %s }\n",ep->stratumid,method,params); sprintf(stratumreq,"{ \"jsonrpc\":\"2.0\", \"id\": %u, \"method\":\"%s\", \"params\": %s }\n",ep->stratumid,method,params);
printf("stratumreq.(%s)\n",stratumreq);
ep->buf[0] = 0; ep->buf[0] = 0;
sitem = (struct stritem *)queueitem(stratumreq); sitem = (struct stritem *)queueitem(stratumreq);
sitem->DL.type = ep->stratumid++; sitem->DL.type = ep->stratumid++;
@ -514,7 +519,10 @@ void electrum_test()
{ {
cJSON *retjson; bits256 hash; struct electrum_info *ep = 0; char *addr,*script,*symbol = "BTC"; cJSON *retjson; bits256 hash; struct electrum_info *ep = 0; char *addr,*script,*symbol = "BTC";
while ( Num_electrums == 0 ) while ( Num_electrums == 0 )
{
sleep(1); sleep(1);
printf("Num_electrums %p -> %d\n",&Num_electrums,Num_electrums);
}
printf("found electrum server\n"); printf("found electrum server\n");
if ( (retjson= electrum_version(symbol,ep,0)) != 0 ) if ( (retjson= electrum_version(symbol,ep,0)) != 0 )
printf("electrum_version %s\n",jprint(retjson,1)); printf("electrum_version %s\n",jprint(retjson,1));

Loading…
Cancel
Save