コード例 #1
0
ファイル: basilisk_MSG.c プロジェクト: teotikalki/SuperNET
HASH_ARRAY_STRING(basilisk,getmessage,hash,vals,hexstr)
{
    int32_t keylen; uint8_t key[64];
    if ( myinfo->RELAYID >= 0 )
    {
        keylen = basilisk_messagekey(key,hash,vals);
        return(basilisk_respond_getmessage(myinfo,key,keylen));
    } else return(basilisk_standardservice("MSG",myinfo,0,myinfo->myaddr.persistent,vals,hexstr,1));
}
コード例 #2
0
ファイル: gecko_headers.c プロジェクト: jl777/SuperNET
void gecko_requesthdrs(struct supernet_info *myinfo,struct iguana_info *virt,int32_t hdrsi)
{
    bits256 zero; struct iguana_bundle *bp=0; cJSON *vals; char *retstr;
    if ( (bp= virt->bundles[hdrsi]) != 0 )
    {
        vals = cJSON_CreateObject();
        memset(zero.bytes,0,sizeof(zero));
        jaddstr(vals,"symbol",virt->symbol);
        jaddstr(vals,"type","HDR");
        if ( (retstr= basilisk_standardservice("GET",myinfo,0,bp->hashes[0],vals,0,0)) != 0 )
            free(retstr);
        free_json(vals);
    } else printf("dont have bundle needed\n");
}
コード例 #3
0
ファイル: basilisk_MSG.c プロジェクト: teotikalki/SuperNET
HASH_ARRAY_STRING(basilisk,sendmessage,hash,vals,hexstr)
{
    int32_t keylen,datalen; uint8_t key[64],space[16384],*data,*ptr = 0; char *retstr=0;
    if ( myinfo->RELAYID >= 0 )
    {
        keylen = basilisk_messagekey(key,hash,vals);
        if ( (data= get_dataptr(BASILISK_HDROFFSET,&ptr,&datalen,space,sizeof(space),hexstr)) != 0 )
            retstr = basilisk_respond_addmessage(myinfo,key,keylen,data,datalen,1);
        if ( ptr != 0 )
            free(ptr);
        if ( retstr != 0 )
            free(retstr);
    }
    if ( vals != 0 )
        jaddnum(vals,"fanout",BASILISK_MAXFANOUT);
    return(basilisk_standardservice("OUT",myinfo,0,hash,vals,hexstr,1));
}