您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ uv_default_loop函数代码示例

51自学网 2021-06-03 09:27:33
  C++
这篇教程C++ uv_default_loop函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中uv_default_loop函数的典型用法代码示例。如果您正苦于以下问题:C++ uv_default_loop函数的具体用法?C++ uv_default_loop怎么用?C++ uv_default_loop使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了uv_default_loop函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: main

int main() {  int r;  id = 0;  loop = uv_default_loop();  struct sockaddr_in bind_addr;  r = uv_ip4_addr("0.0.0.0", PORT, &bind_addr);  CHECK(r, "get bind addr");  r = uv_tcp_init(loop, &server);  CHECK(r, "init server");  r = uv_tcp_bind(&server, (const struct sockaddr*) &bind_addr);  CHECK(r, "bind");  r = uv_listen((uv_stream_t*) &server, BACKLOG, on_connect);  CHECK(r, "listen");  log_info("listening on http://localhost:%d", PORT);  uv_run(loop, UV_RUN_DEFAULT);  return 0;}
开发者ID:cloud-hot,项目名称:libuv-dox,代码行数:23,


示例2: make_many_connections

static void make_many_connections(void) {  tcp_conn* conn;  struct sockaddr_in addr;  int r, i;  for (i = 0; i < CONN_COUNT; i++) {    conn = malloc(sizeof(*conn));    ASSERT(conn);    r = uv_tcp_init(uv_default_loop(), &conn->conn);    ASSERT(r == 0);    ASSERT(0 == uv_ip4_addr("127.0.0.1", TEST_PORT, &addr));    r = uv_tcp_connect(&conn->conn_req,                       (uv_tcp_t*) &conn->conn,                       (const struct sockaddr*) &addr,                       connect_cb);    ASSERT(r == 0);    conn->conn.data = conn;  }}
开发者ID:AlexanderPankiv,项目名称:node,代码行数:23,


示例3: repeat_2_cb

static void repeat_2_cb(uv_timer_t* handle, int status) {  ASSERT(handle == &repeat_2);  ASSERT(status == 0);  ASSERT(repeat_2_cb_allowed);  LOGF("repeat_2_cb called after %ld ms/n",      (long int)(uv_now(uv_default_loop()) - start_time));  repeat_2_cb_called++;  if (uv_timer_get_repeat(&repeat_2) == 0) {    ASSERT(0 == uv_is_active((uv_handle_t*) handle));    uv_close((uv_handle_t*)handle, close_cb);    return;  }  LOGF("uv_timer_get_repeat %ld ms/n",      (long int)uv_timer_get_repeat(&repeat_2));  ASSERT(uv_timer_get_repeat(&repeat_2) == 100);  /* This shouldn't take effect immediately. */  uv_timer_set_repeat(&repeat_2, 0);}
开发者ID:0x20c24,项目名称:cjdns,代码行数:23,


示例4: main

int main() {  int r = 0;  uv_loop_t *loop = uv_default_loop();  r = uv_tcp_init(loop, &tcp_server);  CHECK(r, "uv_tcp_init");  struct sockaddr_in addr;  r = uv_ip4_addr(HOST, PORT, &addr);  CHECK(r, "uv_ip4_addr");  r = uv_tcp_bind(&tcp_server, (const struct sockaddr*) &addr, 0);  CHECK(r, "uv_tcp_bind");  r = uv_listen((uv_stream_t*) &tcp_server, SOMAXCONN, onconnection);  CHECK(r, "uv_listen");  log_info("Listening on %s:%d", HOST, PORT);  uv_run(loop, UV_RUN_DEFAULT);  MAKE_VALGRIND_HAPPY();  return 0;}
开发者ID:afronski,项目名称:playground-nodejs,代码行数:23,


示例5: main

int main(){	struct addrinfo hints;	uv_getaddrinfo_t resolver;	int r;	loop = uv_default_loop();	hints.ai_family   = PF_INET;	hints.ai_socktype = SOCK_STREAM;	hints.ai_protocol = IPPROTO_TCP;	hints.ai_flags    = 0;	fprintf(stderr, "irc.freenode.net is... ");	r = uv_getaddrinfo(loop, &resolver, on_resolved, "irc.freenode.net", "6667", &hints);	if (r)	{		fprintf(stderr, "getaddrinfo call error %s/n", uv_err_name(r));		return 1;	}	return uv_run(loop, UV_RUN_DEFAULT);}
开发者ID:kasicass,项目名称:kasicass,代码行数:23,


示例6: repeat_1_cb

static void repeat_1_cb(uv_timer_t* handle) {  int r;  ASSERT(handle == &repeat_1);  ASSERT(uv_timer_get_repeat((uv_timer_t*)handle) == 50);  fprintf(stderr, "repeat_1_cb called after %ld ms/n",          (long int)(uv_now(uv_default_loop()) - start_time));  fflush(stderr);  repeat_1_cb_called++;  r = uv_timer_again(&repeat_2);  ASSERT(r == 0);  if (repeat_1_cb_called == 10) {    uv_close((uv_handle_t*)handle, close_cb);    /* We're not calling uv_timer_again on repeat_2 any more, so after this */    /* timer_2_cb is expected. */    repeat_2_cb_allowed = 1;    return;  }}
开发者ID:0-wiz-0,项目名称:libuv,代码行数:23,


示例7: tcp_pinger_v6_new

/* same ping-pong test, but using IPv6 connection */static void tcp_pinger_v6_new() {  int r;  struct sockaddr_in6 server_addr = uv_ip6_addr("::1", TEST_PORT);  pinger_t *pinger;  pinger = (pinger_t*)malloc(sizeof(*pinger));  pinger->state = 0;  pinger->pongs = 0;  /* Try to connec to the server and do NUM_PINGS ping-pongs. */  r = uv_tcp_init(uv_default_loop(), &pinger->stream.tcp);  pinger->stream.tcp.data = pinger;  ASSERT(!r);  /* We are never doing multiple reads/connects at a time anyway. */  /* so these handles can be pre-initialized. */  r = uv_tcp_connect6(&pinger->connect_req, &pinger->stream.tcp, server_addr,      pinger_on_connect);  ASSERT(!r);  /* Synchronous connect callbacks are not allowed. */  ASSERT(pinger_on_connect_count == 0);}
开发者ID:CageLiu,项目名称:node,代码行数:24,


示例8: LogTrace

void TCPServer::IncomingConnection(uv_stream_t * listener, int status){    LogTrace(LOG_NETWORKING, "Incoming connection");    if (status < 0)    {        LogError(LOG_NETWORKING, "Incoming connection - failure, reason: %s", uv_err_name(status));        return;    }    uv_tcp_t * client = (uv_tcp_t *) malloc(sizeof(uv_tcp_t));    uv_tcp_init(uv_default_loop(), client);    if (uv_accept(listener, (uv_stream_t *) client) == 0)    {        LogTrace(LOG_NETWORKING, "Incoming connection - success");        uv_read_start((uv_stream_t *) client, AllocBuffer, IncomingData);    }    else    {        LogError(LOG_NETWORKING, "Incoming connection - failure, reason: %s", uv_err_name(status));        uv_close((uv_handle_t *) client, NULL);    }}
开发者ID:LithiumToast,项目名称:ankura,代码行数:23,


示例9: main

int main() {    uv_loop_t *loop = uv_default_loop();    int port = 8000, r = 0;    evt_ctx_t ctx;    struct sockaddr_in bind_local;    evt_ctx_init_ex(&ctx, "server-cert.pem", "server-key.pem");    evt_ctx_set_nio(&ctx, NULL, uv_tls_writer);    uv_tcp_t listener_local;    uv_tcp_init(loop, &listener_local);    listener_local.data = &ctx;    uv_ip4_addr("127.0.0.1", port, &bind_local);    if ((r = uv_tcp_bind(&listener_local, (struct sockaddr*)&bind_local, 0)))        fprintf( stderr, "bind: %s/n", uv_strerror(r));    if ((r = uv_listen((uv_stream_t*)&listener_local, 128, on_connect_cb)))        fprintf( stderr, "listen: %s/n", uv_strerror(r));    printf("Listening on %d/n", port);    uv_run(loop, UV_RUN_DEFAULT);    evt_ctx_free(&ctx);    return 0;}
开发者ID:deleisha,项目名称:evt-tls,代码行数:23,


示例10: jl_set_typeof

jl_module_t *jl_new_module(jl_sym_t *name){    jl_module_t *m = (jl_module_t*)jl_gc_allocobj(sizeof(jl_module_t));    jl_set_typeof(m, jl_module_type);    JL_GC_PUSH1(&m);    assert(jl_is_symbol(name));    m->name = name;    m->parent = NULL;    m->constant_table = NULL;    m->call_func = NULL;    m->istopmod = 0;    m->uuid = uv_now(uv_default_loop());    htable_new(&m->bindings, 0);    arraylist_new(&m->usings, 0);    if (jl_core_module) {        jl_module_using(m, jl_core_module);    }    // export own name, so "using Foo" makes "Foo" itself visible    jl_set_const(m, name, (jl_value_t*)m);    jl_module_export(m, name);    JL_GC_POP();    return m;}
开发者ID:Wilfred,项目名称:julia,代码行数:23,


示例11: on_cm_event_read

static void on_cm_event_read(uv_pipe_t* cm, ssize_t nread, uv_buf_t buf, uv_handle_type pending) {    printf("on_cm_event_read/n");    write_req_t* write_req;    int r;    uv_err_t err = uv_last_error(uv_default_loop());    assert(nread > 0 || err.code == UV_EOF);    printf("nread = %ld/n", nread);    if (nread > 0) {        output_used += nread;        if (output_used == 12) {            assert(memcmp("hello world/n", output, 12) == 0);            write_req = (write_req_t*)malloc(sizeof(*write_req));            write_req->buf = uv_buf_init(output, output_used);            r = uv_write(&write_req->req, (uv_stream_t*)&in, &write_req->buf, 1, after_write);            assert(r == 0);        }    }    on_read_cb_called++;}
开发者ID:syoyo,项目名称:node.rdma,代码行数:23,


示例12: pipe_echo_start

static int pipe_echo_start(char* pipeName) {  int r;#ifndef _WIN32  {    uv_fs_t req;    uv_fs_unlink(uv_default_loop(), &req, pipeName, NULL);    uv_fs_req_cleanup(&req);  }#endif  server = (uv_handle_t*)&pipeServer;  serverType = PIPE;  r = uv_pipe_init(loop, &pipeServer, 0);  if (r) {    fprintf(stderr, "uv_pipe_init: %s/n",        uv_strerror(uv_last_error(loop)));    return 1;  }  r = uv_pipe_bind(&pipeServer, pipeName);  if (r) {    fprintf(stderr, "uv_pipe_bind: %s/n",        uv_strerror(uv_last_error(loop)));    return 1;  }  r = uv_listen((uv_stream_t*)&pipeServer, SOMAXCONN, on_connection);  if (r) {    fprintf(stderr, "uv_pipe_listen: %s/n",        uv_strerror(uv_last_error(loop)));    return 1;  }  return 0;}
开发者ID:2hanson,项目名称:node,代码行数:37,


示例13: Write

v8::Handle<v8::Value> Write(const v8::Arguments& args) {  v8::HandleScope scope;  // file descriptor  if(!args[0]->IsInt32()) {    return scope.Close(v8::ThrowException(v8::Exception::TypeError(v8::String::New("First argument must be an int"))));  }  int fd = args[0]->ToInt32()->Int32Value();  // buffer  if(!args[1]->IsObject() || !node::Buffer::HasInstance(args[1])) {    return scope.Close(v8::ThrowException(v8::Exception::TypeError(v8::String::New("Second argument must be a buffer"))));  }  v8::Persistent<v8::Object> buffer = v8::Persistent<v8::Object>::New(args[1]->ToObject());  char* bufferData = node::Buffer::Data(buffer);  size_t bufferLength = node::Buffer::Length(buffer);  // callback  if(!args[2]->IsFunction()) {    return scope.Close(v8::ThrowException(v8::Exception::TypeError(v8::String::New("Third argument must be a function"))));  }  v8::Local<v8::Value> callback = args[2];  WriteBaton* baton = new WriteBaton();  memset(baton, 0, sizeof(WriteBaton));  baton->fd = fd;  baton->buffer = buffer;  baton->bufferData = bufferData;  baton->bufferLength = bufferLength;  baton->callback = v8::Persistent<v8::Value>::New(callback);  uv_work_t* req = new uv_work_t();  req->data = baton;  uv_queue_work(uv_default_loop(), req, EIO_Write, EIO_AfterWrite);  return scope.Close(v8::Undefined());}
开发者ID:Rolilink,项目名称:Robotica-Labs,代码行数:37,


示例14: RX_ERROR

  int DirWatcher::init(std::string dir, dirwatch_on_rename_callback cb, void* usr) {    int r = 0;    directory = dir;    if (NULL != loop) {      RX_ERROR("Looks like we're already initialize, call shutdown() first.");      return -1;    }    if (false == rx_is_dir(directory)) {      RX_ERROR("Not a directory: %s", directory.c_str());      return -2;    }    loop = uv_default_loop();    r = uv_fs_event_init(loop, &fs_event);    if (0 != r) {      RX_ERROR("Cannot initialize the fs event: %s", uv_strerror(r));      loop = NULL;      return -3;    }    r = uv_fs_event_start(&fs_event, on_dir_change, directory.c_str(), 0);    if (0 != r) {      RX_ERROR("Cannot start the fs event: %s", uv_strerror(r));      loop = NULL;      return -4;    }    fs_event.data = this;    on_rename = cb;    user = usr;    return 0;  }
开发者ID:HellicarAndLewis,项目名称:Mosaic,代码行数:37,


示例15: signal_init

void signal_init(void){  uv_signal_init(uv_default_loop(), &sint);  uv_signal_init(uv_default_loop(), &spipe);  uv_signal_init(uv_default_loop(), &shup);  uv_signal_init(uv_default_loop(), &squit);  uv_signal_init(uv_default_loop(), &sterm);  uv_signal_init(uv_default_loop(), &swinch);  uv_signal_start(&sint, signal_cb, SIGINT);  uv_signal_start(&spipe, signal_cb, SIGPIPE);  uv_signal_start(&shup, signal_cb, SIGHUP);  uv_signal_start(&squit, signal_cb, SIGQUIT);  uv_signal_start(&sterm, signal_cb, SIGTERM);  if (!embedded_mode) {    // TODO(tarruda): There must be an API function for resizing window    uv_signal_start(&swinch, signal_cb, SIGWINCH);  }#ifdef SIGPWR  uv_signal_init(uv_default_loop(), &spwr);  uv_signal_start(&spwr, signal_cb, SIGPWR);#endif}
开发者ID:ChrisBuchholz,项目名称:neovim,代码行数:22,


示例16: spawn_tcp_server_helper

int spawn_tcp_server_helper(void) {  uv_tcp_t tcp;  uv_os_sock_t handle;  int r;  r = uv_tcp_init(uv_default_loop(), &tcp);  ASSERT(r == 0);#ifdef _WIN32  handle = _get_osfhandle(3);#else  handle = 3;#endif  r = uv_tcp_open(&tcp, handle);  ASSERT(r == 0);  /* Make sure that we can listen on a socket that was   * passed down from the parent process   */  r = uv_listen((uv_stream_t*)&tcp, SOMAXCONN, NULL);  ASSERT(r == 0);  return 1;}
开发者ID:ajafff,项目名称:node,代码行数:24,


示例17: Start

int Start(int argc, char** argv) {  InitDebugSettings();  // Initalize JerryScript engine.  if (!InitJerry()) {    DLOG("InitJerry failed");    return 1;  }  // Create environtment.  Environment* env = Environment::GetEnv();  // Init environment with argument and uv loop.  env->Init(argc, argv, uv_default_loop());  // Start IoT.js  if (!StartIoTjs(env)) {    DLOG("StartIoTJs failed");    return 1;  }  // close uv loop.  //uv_stop(env->loop());  uv_walk(env->loop(), UvWalkToCloseCallback, NULL);  uv_run(env->loop(), UV_RUN_DEFAULT);  int res = uv_loop_close(env->loop());  IOTJS_ASSERT(res == 0);  // Release JerryScript engine.  ReleaseJerry();  ReleaseDebugSettings();  return 0;}
开发者ID:bozzmob,项目名称:iotjs,代码行数:36,


示例18: THROW_CSTR_ERROR

/** * @details This is an asynchronous factory method creating a new `Map` * instance from a mapserver mapfile. * * `args` should contain the following parameters: * * @param mapfile A string representing the mapfile path. * * @param callback A function that is called on error or when the map has been * created. It should have the signature `callback(err, map)`. */Handle<Value> Map::FromFileAsync(const Arguments& args) {  HandleScope scope;  if (args.Length() != 2) {    THROW_CSTR_ERROR(Error, "usage: Map.FromFile(mapfile, callback)");  }  REQ_STR_ARG(0, mapfile);  REQ_FUN_ARG(1, callback);  MapfileBaton *baton = new MapfileBaton();  baton->request.data = baton;  baton->map = NULL;  baton->callback = Persistent<Function>::New(callback);  baton->error = NULL;  baton->mapfile = *mapfile;  uv_queue_work(uv_default_loop(),                &baton->request,                FromFileWork,                (uv_after_work_cb) FromFileAfter);  return Undefined();}
开发者ID:escribano,项目名称:node-mapserv,代码行数:35,


示例19: uvm_start_client

intuvm_start_client(uvm_read_callback_t cb,                  char* host, int port, void* data){    struct sockaddr_in sin;    uv_tcp_t* sock = malloc(sizeof(uv_tcp_t));    uv_connect_t* connect_req = malloc(sizeof(uv_connect_t));    connection_request_t* req = malloc(sizeof(connection_request_t));    if(!req){        /* FIXME: set error here */        return -1;    }    connect_req->data = req;    req->cb = cb;    req->data = data;    /* Resolve name */    sin = uv_ip4_addr(host,port);    /* Init connection state */    uv_tcp_init(uv_default_loop(), sock);    /* Enqueue connection request */    return uv_tcp_connect(connect_req, sock, sin, cb_connect);}
开发者ID:cosim,项目名称:uv-msgpack,代码行数:24,


示例20: call

        static v8::Handle<v8::Value> call(v8::Arguments const& args)        {            typedef Worker Instance::* member_ptr_t;                    v8::HandleScope scope;                    // get member pointer            uint32_t member_ptr_value = args.Data()->NumberValue();            member_ptr_t member_ptr = *reinterpret_cast<member_ptr_t *>(&member_ptr_value);                        // get instance            Instance & instance = get_wrapped_object<Instance>(args);                        // get derived worker ref            Worker & worker = instance.*member_ptr;                        // get the work request            uv_work_t * work_req = worker.get_work_request();            if (!work_req)            {                // error in arguments, return undefined                return scope.Close(v8::Undefined());            }            // store the arguments            worker.store_arguments(args);            // queue work function            work_req->data = &worker;            uv_queue_work(uv_default_loop(),                          work_req,                          &worker_base::process_impl<Instance, Worker>,                          &worker_base::after_impl<Instance, Worker>);                        return scope.Close(v8::Undefined());        }
开发者ID:diosmosis,项目名称:node-bind,代码行数:36,


示例21: main

void main(int argc, char** argv) {    loop = uv_default_loop();    if(argc > 1) {        bench = atoi(argv[1]);    }    if(argc > 2) {        interval = atoi(argv[2]); // Seconds    }    // init log client    uvx_log_init(&xlog, loop, "127.0.0.1", 8004, "xlog-test");    // some small tests    test_shorten_path();    test_serialize_log();    // start a timer    uv_timer_t timer;    uv_timer_init(loop, &timer);    uv_timer_start(&timer, on_timer, 0, interval/*seconds*/ * 1000);    uv_run(loop, UV_RUN_DEFAULT);}
开发者ID:cosim,项目名称:uvx,代码行数:24,


示例22: do_newuser

static void do_newuser(MyMSG* msg, CMsgSocket* s){    printf("received new user: id: %d; room: %d/n", msg->body.userinfo.userid, msg->body.userinfo.roomid);    s->dis_connect();	cnt++;	if (cnt > 6){		s1->dis_connect();		s2->dis_connect();		return;	}    CMsgSocket* s11 = dynamic_cast<CMsgSocket*>(CResourcePool::GetInstance()->Get(e_rsc_msgsocket));	if (s == s1) s1 = s11;	else s2 = s11;	cc_userinfo_t userinfo = { 0 };	userinfo.roomid = msg->body.userinfo.roomid;	userinfo.userid = !msg->body.userinfo.userid;	s11->set_local_user(&userinfo);	s11->on_received(s11, on_msg);	s11->on_received_frame(s11, on_frame);    uv_work_t* req = (uv_work_t*)malloc(sizeof(uv_work_t));    req->data = s11;    int ret = uv_queue_work(uv_default_loop(), req, do_nothing, reconn);    printf("queue reconn return %d/n", ret);}
开发者ID:zhifeichen,项目名称:libcapture,代码行数:24,


示例23: UNI_SCOPE

uni::CallbackType OracleClient::Connect(const uni::FunctionCallbackInfo& args) {  UNI_SCOPE(scope);  REQ_OBJECT_ARG(0, settings);  REQ_FUN_ARG(1, callback);  OracleClient* client = ObjectWrap::Unwrap<OracleClient>(args.This());  ConnectBaton* baton = new ConnectBaton(client, client->m_environment, &callback);  OBJ_GET_STRING(settings, "hostname", baton->hostname);  OBJ_GET_STRING(settings, "user", baton->user);  OBJ_GET_STRING(settings, "password", baton->password);  OBJ_GET_STRING(settings, "database", baton->database);  OBJ_GET_NUMBER(settings, "port", baton->port, 1521);  OBJ_GET_STRING(settings, "tns", baton->tns);  client->Ref();  uv_work_t* req = new uv_work_t();  req->data = baton;  uv_queue_work(uv_default_loop(), req, EIO_Connect, (uv_after_work_cb)EIO_AfterConnect);  UNI_RETURN(scope, args, NanUndefined());}
开发者ID:ericwaldheim,项目名称:node-oracle,代码行数:24,


示例24: PANIC

cspider_t *init_cspider() {  cspider_t *spider = (cspider_t *)malloc(sizeof(cspider_t));  PANIC(spider);  //init task queue  spider->task_queue = initTaskQueue();  PANIC(spider->task_queue);  spider->task_queue_doing = initTaskQueue();  PANIC(spider->task_queue_doing);  //init data queue  spider->data_queue = initDataQueue();  PANIC(spider->data_queue);  spider->data_queue_doing = initDataQueue();  PANIC(spider->data_queue_doing);    spider->threadpool_size = 4;  spider->process = NULL;  spider->save = NULL;  spider->process_user_data = NULL;  spider->save_user_data = NULL;  spider->loop = uv_default_loop();    spider->idler = (uv_idle_t*)malloc(sizeof(uv_idle_t));  spider->lock = (uv_rwlock_t*)malloc(sizeof(uv_rwlock_t));  uv_rwlock_init(spider->lock);  spider->save_lock = (uv_rwlock_t*)malloc(sizeof(uv_rwlock_t));  uv_rwlock_init(spider->save_lock);  spider->idler->data = spider;  spider->site = (site_t*)malloc(sizeof(site_t));  spider->site->user_agent = NULL;  spider->site->proxy = NULL;  spider->site->cookie = NULL;  spider->site->timeout = 0;  spider->log = NULL;  spider->bloom = init_Bloom();  return spider;}
开发者ID:mitghi,项目名称:CSpider,代码行数:36,


示例25: main

intmain(int argc, char *argv[]){    serverstate_set_event_loop(uv_default_loop());    config_init();    listener_init();    client_init();    module_init();    server_init();    command_init();    connection_init();    process_commandline(argv, argc);    config_load();    listener_start_listeners();    module_load_all_modules();    connection_init_tls();    uv_run(serverstate_get_event_loop(), UV_RUN_DEFAULT);    return 0;}
开发者ID:tony,项目名称:oftc-ircd,代码行数:24,


示例26: REQ_OBJECT_ARG

Handle<Value> OracleClient::Connect(const Arguments& args) {  HandleScope scope;  REQ_OBJECT_ARG(0, settings);  REQ_FUN_ARG(1, callback);  OracleClient* client = ObjectWrap::Unwrap<OracleClient>(args.This());  ConnectBaton* baton = new ConnectBaton(client, client->m_environment, &callback);  OBJ_GET_STRING(settings, "hostname", baton->hostname);  OBJ_GET_STRING(settings, "user", baton->user);  OBJ_GET_STRING(settings, "password", baton->password);  OBJ_GET_STRING(settings, "database", baton->database);  OBJ_GET_NUMBER(settings, "port", baton->port, 1521);  OBJ_GET_STRING(settings, "tns", baton->tns);  client->Ref();  uv_work_t* req = new uv_work_t();  req->data = baton;  uv_queue_work(uv_default_loop(), req, EIO_Connect, (uv_after_work_cb)EIO_AfterConnect);  return scope.Close(Undefined());}
开发者ID:strongloop-forks,项目名称:node-oracle,代码行数:24,


示例27: signal_cb

//call client signal callbackstatic void signal_cb (std::string subscriber_name,	   std::string quiddity_name, 	   std::string signal_name, 	   std::vector<std::string> params, 	   void *user_data){  if (g_strcmp0 (signal_name.c_str (), "on-quiddity-created") == 0      && switcher_is_loading == false)    g_thread_create (set_runtime_invoker, 		     g_strdup (params[0].c_str ()),		     FALSE,		     NULL);    async_req_signal *req = new async_req_signal ();  req->req.data = req;  req->quiddity_name = quiddity_name;  req->signal_name = signal_name;  req->params = params;  uv_queue_work (uv_default_loop(),		 &req->req,		 DoNothingAsync,		 (uv_after_work_cb)NotifySignal);}
开发者ID:nicobou,项目名称:node-switcher,代码行数:25,


示例28: pinger_read_cb

static void pinger_read_cb(uv_stream_t* stream, ssize_t nread, uv_buf_t buf) {  ssize_t i;  pinger_t* pinger;  pinger = (pinger_t*)stream->data;  if (nread < 0) {    ASSERT(uv_last_error(uv_default_loop()).code == UV_EOF);    puts("got EOF");    if (buf.base) {      free(buf.base);    }    uv_close((uv_handle_t*)(&pinger->stream.tcp), pinger_on_close);    return;  }  /* Now we count the pings */  for (i = 0; i < nread; i++) {    ASSERT(buf.base[i] == PING[pinger->state]);    pinger->state = (pinger->state + 1) % (sizeof(PING) - 1);    if (pinger->state == 0) {      printf("PONG %d/n", pinger->pongs);      pinger->pongs++;      if (pinger->pongs < NUM_PINGS) {        pinger_write_ping(pinger);      } else {        uv_close((uv_handle_t*)(&pinger->stream.tcp), pinger_on_close);        return;      }    }  }}
开发者ID:CageLiu,项目名称:node,代码行数:36,


示例29: main

int main(int argc, char *argv[]){  sockaddr_in addr;  int r;   resbuf.base = RESPONSE;  resbuf.len = sizeof(RESPONSE);  uv_loop = uv_default_loop();  addr = uv_ip4_addr("127.0.0.1", 8089);  r = uv_tcp_init(uv_loop, &tcp_server);  assert(r == 0);  r = uv_tcp_bind(&tcp_server, addr);  assert(r == 0);  r = uv_listen((uv_stream_t*)&tcp_server, 128, connection_cb);  assert(r == 0);  printf("start/n");  r = uv_run(uv_loop);  assert(0 && "Blackhole server dropped out of event loop.");}
开发者ID:Moqi,项目名称:Orca,代码行数:24,



注:本文中的uv_default_loop函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ uv_err_name函数代码示例
C++ uv_close函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。