Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
a11cf47380
  1. 8
      iguana/SuperNET.c
  2. 1
      iguana/SuperNET.h
  3. 4
      iguana/iguana_peers.c
  4. 10
      iguana/main.c

8
iguana/SuperNET.c

@ -28,7 +28,7 @@ int32_t SuperNET_delaymillis(struct supernet_info *myinfo,int32_t maxdelay)
void SuperNET_remotepeer(struct supernet_info *myinfo,struct iguana_info *coin,char *symbol,char *ipaddr,int32_t supernetflag)
{
uint64_t ipbits; struct iguana_peer *addr;
//printf("got %s remotepeer.(%s) supernet.%d\n",symbol,ipaddr,supernetflag);
printf("got %s remotepeer.(%s) supernet.%d\n",symbol,ipaddr,supernetflag);
if ( supernetflag != 0 )
{
ipbits = calc_ipbits(ipaddr);
@ -126,7 +126,8 @@ int32_t SuperNET_json2bits(struct supernet_info *myinfo,uint8_t *serialized,int3
seed = curve25519_shared(myinfo->privkey,destpub);
vcalc_sha256(0,seed2.bytes,seed.bytes,sizeof(seed));
int32_t seedlen; seedlen = ramcoder_compress(&compressed[3],maxsize-3,serialized,len,seed2);
printf("strlen.%d len.%d -> complen.%d seedlen.%d\n",(int32_t)strlen(jprint(json,0)),len,*complenp,seedlen);
char str[65]; printf("strlen.%d len.%d -> complen.%d %s seedlen.%d\n",(int32_t)strlen(jprint(json,0)),len,*complenp,bits256_str(str,seed2),(int32_t)hconv_bitlen(seedlen));
*complenp = (int32_t)hconv_bitlen(seedlen);
return(len);
}
@ -361,7 +362,7 @@ char *SuperNET_p2p(struct iguana_info *coin,struct iguana_peer *addr,int32_t *de
myinfo = SuperNET_MYINFO(0);
*delaymillisp = 0;
if ( compressed != 0 )
space = malloc(datalen);
space = malloc(sizeof(struct iguana_msghdr) + IGUANA_MAXPACKETSIZE);
if ( (json= SuperNET_bits2json(myinfo,addr->pubkey,data,space,datalen,compressed)) != 0 )
{
maxdelay = juint(json,"maxdelay");
@ -382,6 +383,7 @@ char *SuperNET_p2p(struct iguana_info *coin,struct iguana_peer *addr,int32_t *de
return(clonestr("{\"result\":\"peer marked as dead\"}"));
}
retstr = SuperNET_JSON(myinfo,json,ipaddr);
printf("p2pret.(%s)\n",retstr);
*delaymillisp = SuperNET_delaymillis(myinfo,maxdelay);
free_json(json);
} else retstr = clonestr("{\"error\":\"p2p cant parse json\"}");

1
iguana/SuperNET.h

@ -35,6 +35,7 @@
#define SUPERNET_FORWARD 2
#define SUPERNET_ISMINE 1
#define SUPERNET_MAXDELAY (1000 * 3600)
#define SUPERNET_APIVERSION 0
/*#define LB_OFFSET 1
#define PUBGLOBALS_OFFSET 2

4
iguana/iguana_peers.c

@ -300,12 +300,12 @@ int32_t iguana_socket(int32_t bindflag,char *hostname,uint16_t port)
if ( result != 0 )
{
if ( errno != ECONNRESET && errno != ENOTCONN && errno != ECONNREFUSED && errno != ETIMEDOUT && errno != EHOSTUNREACH )
printf("connect(%s) port.%d failed: %s sock.%d. errno.%d\n",hostname,port,strerror(errno),sock,errno);
printf("%s(%s) port.%d failed: %s sock.%d. errno.%d\n",bindflag!=0?"bind":"connect",hostname,port,strerror(errno),sock,errno);
if ( sock >= 0 )
closesocket(sock);
return(-1);
}
if ( bindflag != 0 && listen(sock,16) != 0 )
if ( bindflag != 0 && listen(sock,64) != 0 )
{
printf("listen(%s) port.%d failed: %s sock.%d. errno.%d\n",hostname,port,strerror(errno),sock,errno);
if ( sock >= 0 )

10
iguana/main.c

@ -50,7 +50,7 @@ uint16_t SuperNET_API2num(char *agent,char *method)
{
item = jitem(API_json,i);
if ( strcmp(agent,jstr(item,"agent")) == 0 && strcmp(method,jstr(item,"method")) == 0 )
return(i);
return((i << 11) | (SUPERNET_APIVERSION & 0x1f));
}
}
return(-1);
@ -58,7 +58,13 @@ uint16_t SuperNET_API2num(char *agent,char *method)
int32_t SuperNET_num2API(char *agent,char *method,uint16_t num)
{
int32_t n; cJSON *item;
int32_t n,apiversion; cJSON *item;
if ( (apiversion= (num & 0x1f)) != SUPERNET_APIVERSION )
{
printf("need to make sure all released api help returns are indexed here!\n");
return(-1);
}
num >>= 5;
if ( API_json != 0 && (n= cJSON_GetArraySize(API_json)) > 0 && num < n )
{
item = jitem(API_json,num);

Loading…
Cancel
Save