Exemplo n.º 1
0
void on_accept(handle_t s,void *listener,int _2,int _3){
	engine_t p = kn_sock_engine((handle_t)listener);
	connection_t conn = new_connection(s,4096,new_rpk_decoder(4096));
	connection_associate(p,conn,on_packet,on_disconnected);
	++client_count;
	printf("%d\n",client_count);   
}
Exemplo n.º 2
0
static int luasocket_establish(lua_State *L){
	luasocket_t luasock = (luasocket_t)lua_touserdata(L,1);
	uint32_t    recvbuf_size = lua_tointeger(L,2);
	decoder*    _decoder = (decoder*)lua_touserdata(L,3);
	recvbuf_size = size_of_pow2(recvbuf_size);
    	if(recvbuf_size < 1024) recvbuf_size = 1024;
	connection_t conn = new_connection(luasock->sock,recvbuf_size,_decoder);
	
	if(_decoder && _decoder->mask == mask_http_decode)
		connection_associate(g_engine,conn,on_http_cb,on_disconnected);
	else
		connection_associate(g_engine,conn,on_packet,on_disconnected);
	refobj_inc((refobj*)conn);
	luasock->type = _STREAM_CONN;
	luasock->streamconn = conn;
	connection_setud(conn,luasock,destroy_luasocket);
	return 0;
}