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); }
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); }