예제 #1
0
int main() {

    static unsigned char alloc_buffer[4096*(1+1+4+1+32+1+256)];
    char json_buffer[4096];
    char print_buffer[4096];
    int ret;
    int readlen;
    int json_offset;
    void * root_node;
    void * findlist;
    void * memdb_template ;
    BYTE uuid[DIGEST_SIZE];
    int i;
    MSG_HEAD * msg_head;
    pthread_t  cube_thread;

    char * baseconfig[] =
    {
        "typelist.json",
        "subtypelist.json",
        "msghead.json",
        "login_struct.json",
        "headrecord.json",
        NULL
    };

    alloc_init(alloc_buffer);
    struct_deal_init();
    memdb_init();

// test namelist reading start

    for(i=0; baseconfig[i]!=NULL; i++)
    {
        ret=read_json_file(baseconfig[i]);
        if(ret<0)
            return ret;
        printf("read %d elem from file %s!\n",ret,baseconfig[i]);
    }

    void * record;

// test struct desc reading start

    msgfunc_init();

    void * message;
    void * policy;

    dispatch_init(NULL);
    policy=dispatch_policy_create();
    if(policy==NULL)
    {
        printf("create policy failed!\n");
        return -EINVAL;
    }

    ret=read_dispatch_file("dispatch_policy.json");

//	routine_start();
//	sleep(100000);

    return 0;

}
예제 #2
0
int main() {

  	static unsigned char alloc_buffer[4096*(1+1+4+1+32+1+256)];	
	char json_buffer[4096];
	char print_buffer[4096];
	int ret;
	int readlen;
	int json_offset;
	void * root_node;
	void * findlist;
	void * memdb_template ;
	BYTE uuid[DIGEST_SIZE];
	int i;
	MSG_HEAD * msg_head;
	pthread_t  cube_thread;
	
	char * baseconfig[] =
	{
		"namelist.json",
		"dispatchnamelist.json",
		"typelist.json",
		"subtypelist.json",
		"msghead.json",
		"msgrecord.json",
		"expandrecord.json",
		"base_msg.json",
		"dispatchrecord.json",
		NULL
	};

//	alloc_init(alloc_buffer);
	struct_deal_init();
	memdb_init();

// test namelist reading start

	for(i=0;baseconfig[i]!=NULL;i++)
	{
		ret=read_json_file(baseconfig[i]);
		if(ret<0)
			return ret;
		printf("read %d elem from file %s!\n",ret,baseconfig[i]);
	}

	void * record;

// test struct desc reading start

	msgfunc_init();
	dispatch_init();
	
	void * message;
	void * policy;
	
	ret=read_dispatch_file("dispatch_policy.json");

	message=message_create(DTYPE_MESSAGE,SUBTYPE_BASE_MSG,NULL);	

	struct basic_message * base_msg;
	base_msg=Talloc0(sizeof(*base_msg));
	if(base_msg==NULL)
		return -ENOMEM;
	base_msg->message=dup_str("hello",0);

	message_add_record(message,base_msg);	
	ret=message_output_json(message,json_buffer);
	if(ret<0)
	{
		printf("message output json failed!\n");
		return ret;
	}

	printf("%s\n",json_buffer);

	ret=dispatch_policy_getfirst(&policy);
	while(policy!=NULL)
	{
		ret=dispatch_match_message(policy,message);
		if(ret==0)
		{
			printf("this message match the policy!\n");
			break;
		}
		ret=dispatch_policy_getnext(&policy);
	}

	if(policy!=NULL)
	{
		router_set_local_route(message,policy);	
		ret=message_output_json(message,json_buffer);
		if(ret<0)
		{
			printf("message output json failed!\n");
			return ret;
		}

		printf("%s\n",json_buffer);
	}

//	routine_start();
//	sleep(100000);
	
	return 0;

}