Lines Matching refs:tcp
86 /* Query to see if tcp socket is bound. */
114 int uv_tcp_init_ex(uv_loop_t* loop, uv_tcp_t* tcp, unsigned int flags) {
125 uv__stream_init(loop, (uv_stream_t*)tcp, UV_TCP);
132 int err = maybe_new_socket(tcp, domain, 0);
134 QUEUE_REMOVE(&tcp->handle_queue);
143 int uv_tcp_init(uv_loop_t* loop, uv_tcp_t* tcp) {
144 return uv_tcp_init_ex(loop, tcp, AF_UNSPEC);
148 int uv__tcp_bind(uv_tcp_t* tcp,
159 err = maybe_new_socket(tcp, addr->sa_family, 0);
164 if (setsockopt(tcp->io_watcher.fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)))
171 if (setsockopt(tcp->io_watcher.fd,
187 err = bind(tcp->io_watcher.fd, addr, addrlen);
195 tcp->delayed_error = (err == -1) ? UV__ERR(errno) : 0;
197 tcp->flags |= UV_HANDLE_BOUND;
199 tcp->flags |= UV_HANDLE_IPV6;
235 * and actually the tcp three-way handshake is completed.
340 int uv__tcp_listen(uv_tcp_t* tcp, int backlog, uv_connection_cb cb) {
346 if (tcp->delayed_error)
347 return tcp->delayed_error;
357 tcp->flags |= UV_HANDLE_TCP_SINGLE_ACCEPT;
367 err = maybe_new_socket(tcp, AF_INET, flags);
371 if (listen(tcp->io_watcher.fd, backlog))
374 tcp->connection_cb = cb;
375 tcp->flags |= UV_HANDLE_BOUND;
378 tcp->io_watcher.cb = uv__server_io;
379 uv__io_start(tcp->loop, &tcp->io_watcher, POLLIN);