Beispiel #1
0
static void do_connect(uv_handle_t* handle, struct sockaddr* addr) {
  uv_req_t* req;
  int r;

  r = uv_tcp_init(handle, close_cb, NULL);
  ASSERT(r == 0);

  req = req_alloc();
  uv_req_init(req, handle, connect_cb);
  r = uv_connect(req, addr);
  ASSERT(r == 0);
}
static void client_connect() {
  struct sockaddr_in addr = uv_ip4_addr("127.0.0.1", TEST_PORT);
  uv_handle_t* client = (uv_handle_t*)malloc(sizeof *client);
  uv_req_t* connect_req = (uv_req_t*)malloc(sizeof *connect_req);
  int r;

  ASSERT(client != NULL);
  ASSERT(connect_req != NULL);

  r = uv_tcp_init(client, close_cb, NULL);
  ASSERT(r == 0);

  uv_req_init(connect_req, client, connect_cb);
  r = uv_connect(connect_req, (struct sockaddr*)&addr);
  ASSERT(r == 0);
}
Beispiel #3
0
static void pinger_new() {
  int r;
  struct sockaddr_in client_addr = uv_ip4_addr("0.0.0.0", 0);
  struct sockaddr_in server_addr = uv_ip4_addr("127.0.0.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(&pinger->handle, pinger_close_cb, (void*)pinger);
  ASSERT(!r);

  /* We are never doing multiple reads/connects at a time anyway. */
  /* so these handles can be pre-initialized. */
  uv_req_init(&pinger->connect_req, &pinger->handle, pinger_connect_cb);

  uv_bind(&pinger->handle, (struct sockaddr*)&client_addr);
  r = uv_connect(&pinger->connect_req, (struct sockaddr*)&server_addr);
  ASSERT(!r);
}