예제 #1
0
worker_t worker_create()
{
    worker_t pworker = (worker_t)malloc(sizeof(worker));

    if (pworker == NULL)
    {
        print_log(LOG_TYPE_ERROR, "malloc worker error\n");
        return NULL;
    }

    pworker->total_count = 0;
    pworker->closed_count = 0;
    pworker->neterr_count = 0;
    pworker->epfd = epoll_create(256);

    hash_table *ht = (hash_table *)malloc(sizeof(hash_table));
    pworker->pht = ht;
    ht_init(pworker->pht, HT_VALUE_CONST, 0.05);

    pworker->redis = connector_create(INVALID_ID, pworker, CONN_TYPE_REDIS, REDIS_IP, REDIS_PORT);
    pworker->plist = list_create();

    struct timeval tm_now;
    gettimeofday(&tm_now, NULL);
    pworker->ticktime = tm_now.tv_sec;

    return pworker;
}
예제 #2
0
int main()
{
	InitHandleMgr();
	connector_t c = connector_create();
	int i = 0;
	for(; i < 20; ++i)
		connector_connect(c,"192.168.6.204",8010,test_on_connect,0,100);
	for(;;)
	{
		connector_run(c,50);
	}

	return 0;
}