Browse Source

Test

etomic
jl777 7 years ago
parent
commit
5b04db522a
  1. 19
      iguana/exchanges/LP_swap.c

19
iguana/exchanges/LP_swap.c

@ -409,9 +409,10 @@ int32_t LP_waitfor(int32_t pairsock,struct basilisk_swap *swap,int32_t timeout,i
void *data; int32_t datalen,retval = -1; uint32_t expiration = (uint32_t)time(NULL) + timeout;
while ( time(NULL) < expiration )
{
printf("start wait\n");
if ( (datalen= nn_recv(pairsock,&data,NN_MSG,0)) >= 0 )
{
//printf("wait for got.%d\n",datalen);
printf("wait for got.%d\n",datalen);
retval = (*verify)(swap,data,datalen);
nn_freemsg(data);
return(retval);
@ -424,14 +425,19 @@ int32_t LP_waitfor(int32_t pairsock,struct basilisk_swap *swap,int32_t timeout,i
int32_t LP_waitsend(char *statename,int32_t timeout,int32_t pairsock,struct basilisk_swap *swap,uint8_t *data,int32_t maxlen,int32_t (*verify)(struct basilisk_swap *swap,uint8_t *data,int32_t datalen),int32_t (*datagen)(struct basilisk_swap *swap,uint8_t *data,int32_t maxlen))
{
int32_t datalen,sendlen,retval = -1;
printf("waitsend.%s\n",statename);
if ( LP_waitfor(pairsock,swap,timeout,verify) == 0 )
{
printf("waited for %s\n",statename);
if ( (datalen= (*datagen)(swap,data,maxlen)) > 0 )
{
if ( (sendlen= nn_send(pairsock,data,datalen,0)) == datalen )
{
printf("sent.%d after waitfor.%s\n",sendlen,statename);
retval = 0;
}
else printf("send %s error\n",statename);
}
} else printf("%s datagen no data\n",statename);
} else printf("didnt get valid data\n");
return(retval);
}
@ -439,15 +445,20 @@ int32_t LP_waitsend(char *statename,int32_t timeout,int32_t pairsock,struct basi
int32_t LP_sendwait(char *statename,int32_t timeout,int32_t pairsock,struct basilisk_swap *swap,uint8_t *data,int32_t maxlen,int32_t (*verify)(struct basilisk_swap *swap,uint8_t *data,int32_t datalen),int32_t (*datagen)(struct basilisk_swap *swap,uint8_t *data,int32_t maxlen))
{
int32_t datalen,sendlen,retval = -1;
printf("sendwait.%s\n",statename);
if ( (datalen= (*datagen)(swap,data,maxlen)) > 0 )
{
printf("generated %d for %s\n",datalen,statename);
if ( (sendlen= nn_send(pairsock,data,datalen,0)) == datalen )
{
printf("sendwait.%s sent %d\n",statename,sendlen);
if ( LP_waitfor(pairsock,swap,timeout,verify) == 0 )
{
printf("waited! sendwait.%s sent %d\n",statename,sendlen);
retval = 0;
else printf("didnt get %s\n",statename);
} else printf("didnt get %s\n",statename);
} else printf("send pubkeys error\n");
}
} else printf("no datagen for %s\n",statename);
return(retval);
}

Loading…
Cancel
Save