Lines Matching refs:srv_socket

54 	server_socket *srv_socket = (server_socket *)context;  in network_server_handle_fdevent()  local
63 srv_socket->fd, in network_server_handle_fdevent()
71 for (loops = 0; loops < 100 && NULL != (con = connection_accept(srv, srv_socket)); loops++) { in network_server_handle_fdevent()
139 server_socket *srv_socket; local
168 srv_socket = calloc(1, sizeof(*srv_socket));
169 if (NULL == srv_socket) {
174 srv_socket->fd = -1;
175 srv_socket->fde_ndx = -1;
177 srv_socket->srv_token = buffer_init();
178 buffer_copy_string_buffer(srv_socket->srv_token, host_token);
220 srv_socket->addr.plain.sa_family = AF_UNIX;
222 if (-1 == (srv_socket->fd = socket(srv_socket->addr.plain.sa_family, SOCK_STREAM, 0))) {
234 srv_socket->addr.plain.sa_family = AF_INET;
235 srv_socket->fd = mtcp_socket(srv->mctx, AF_INET, SOCK_STREAM, 0);
236 if (srv_socket->fd < 0) {
240 if (mtcp_setsock_nonblock(srv->mctx, srv_socket->fd) < 0) {
248 if (srv_socket->fd == -1 && srv_socket->use_ipv6) {
249 srv_socket->addr.plain.sa_family = AF_INET6;
251 if (-1 == (srv_socket->fd = socket(srv_socket->addr.plain.sa_family, SOCK_STREAM, IPPROTO_TCP))) {
255 srv_socket->use_ipv6 = 1;
259 if (srv_socket->fd == -1) {
260 srv_socket->addr.plain.sa_family = AF_INET;
261 if (-1 == (srv_socket->fd = socket(srv_socket->addr.plain.sa_family, SOCK_STREAM, IPPROTO_TCP))) {
270 fcntl(srv_socket->fd, F_SETFD, FD_CLOEXEC);
273 if (setsockopt(srv_socket->fd, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val)) < 0) {
280 srv->cur_fds = srv_socket->fd;
282 switch(srv_socket->addr.plain.sa_family) {
285 memset(&srv_socket->addr, 0, sizeof(struct sockaddr_in6));
286 srv_socket->addr.ipv6.sin6_family = AF_INET6;
288 srv_socket->addr.ipv6.sin6_addr = in6addr_any;
296 if (-1 == setsockopt(srv_socket->fd, IPPROTO_IPV6, IPV6_V6ONLY, &val, sizeof(val))) {
318 memcpy(&(srv_socket->addr), res->ai_addr, res->ai_addrlen);
322 srv_socket->addr.ipv6.sin6_port = htons(port);
327 memset(&srv_socket->addr, 0, sizeof(struct sockaddr_in));
328 srv_socket->addr.ipv4.sin_family = AF_INET;
330 srv_socket->addr.ipv4.sin_addr.s_addr = htonl(INADDR_ANY);
350 memcpy(&(srv_socket->addr.ipv4.sin_addr.s_addr), he->h_addr_list[0], he->h_length);
352 srv_socket->addr.ipv4.sin_port = htons(port);
358 srv_socket->addr.un.sun_family = AF_UNIX;
359 strcpy(srv_socket->addr.un.sun_path, host);
362 addr_len = SUN_LEN(&srv_socket->addr.un);
365 addr_len = strlen(host) + 1 + sizeof(srv_socket->addr.un.sun_family);
369 if (-1 != (fd = connect(srv_socket->fd, (struct sockaddr *) &(srv_socket->addr), addr_len))) {
401 if (0 != mtcp_bind(srv->mctx, srv_socket->fd,
402 (struct sockaddr *) &(srv_socket->addr), addr_len)) {
406 if(setsockopt(srv_socket->fd, SOL_SOCKET, SO_REUSEPORT, &port_reuse, sizeof(port_reuse)) == -1) {
411 if (0 != bind(srv_socket->fd, (struct sockaddr *) &(srv_socket->addr), addr_len)) {
413 switch(srv_socket->addr.plain.sa_family) {
429 if (-1 == mtcp_listen(srv->mctx, srv_socket->fd, srv->listen_backlog)) {
431 if (-1 == listen(srv_socket->fd, 128 * 8)) {
439 if (NULL == (srv_socket->ssl_ctx = s->ssl_ctx)) {
453 if (-1 == setsockopt(srv_socket->fd, IPPROTO_TCP, TCP_DEFER_ACCEPT, &v, sizeof(v))) {
464 if (setsockopt(srv_socket->fd, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa)) < 0) {
472 srv_socket->is_ssl = s->is_ssl;
484 srv->srv_sockets.ptr[srv->srv_sockets.used++] = srv_socket;
509 srv->srv_sockets.ptr[srv->srv_sockets.used] = calloc(1, sizeof(*srv_socket));
536 if (srv_socket->fd != -1) {
538 if (srv_socket->fde_ndx != -1) {
539 fdevent_event_del(srv->ev, &(srv_socket->fde_ndx), srv_socket->fd);
540 fdevent_unregister(srv->ev, srv_socket->fd);
543 mtcp_close(srv->mctx, srv_socket->fd);
545 close(srv_socket->fd);
548 buffer_free(srv_socket->srv_token);
549 free(srv_socket);
560 server_socket *srv_socket = srv->srv_sockets.ptr[i]; local
562 if (srv_socket->fd != -1) {
564 if (srv_socket->fde_ndx != -1) {
565 fdevent_event_del(srv->ev, &(srv_socket->fde_ndx), srv_socket->fd);
566 fdevent_unregister(srv->ev, srv_socket->fd);
569 mtcp_close(srv->mctx, srv_socket->fd);
571 close(srv_socket->fd);
575 buffer_free(srv_socket->srv_token);
577 free(srv_socket);
987 server_socket *srv_socket = srv->srv_sockets.ptr[i]; local
989 fdevent_register(srv->ev, srv_socket->fd, network_server_handle_fdevent, srv_socket);
990 fdevent_event_set(srv->ev, &(srv_socket->fde_ndx), srv_socket->fd, FDEVENT_IN);
1002 server_socket *srv_socket = con->srv_socket; local
1044 if (srv_socket->is_ssl) {