Lines Matching refs:Server
473 /* We increment this to tell the server to shut down. */
505 bool process_server (Cody::Server *server, unsigned slot, int epoll_fd)
507 switch (server->GetDirection ())
509 case Cody::Server::READING:
510 if (int err = server->Read ())
512 server->ProcessRequests ();
513 server->PrepareToWrite ();
516 case Cody::Server::WRITING:
517 if (int err = server->Write ())
519 server->PrepareToRead ();
528 gcc_assert (server->GetFDRead () == server->GetFDWrite ());
530 server->GetDirection () == Cody::Server::READING
531 ? EPOLLIN : EPOLLOUT, server->GetFDRead (), slot + 1);
536 void close_server (Cody::Server *server, int epoll_fd)
538 my_epoll_ctl (epoll_fd, EPOLL_CTL_DEL, EPOLLIN, server->GetFDRead (), 0);
540 close (server->GetFDRead ());
542 delete server;
588 /* A server listening on bound socket SOCK_FD. */
591 server (bool ipv6, int sock_fd, module_resolver *resolver)
623 std::vector<Cody::Server *> connections;
660 if (auto *server = *iter)
663 switch (server
665 case Cody::Server::READING:
666 fd = server->GetFDRead ();
669 case Cody::Server::WRITING:
670 fd = server->GetFDWrite ();
731 if (auto *server = *iter)
734 switch (server->GetDirection ())
737 case Cody::Server::READING:
738 found = FD_ISSET (server->GetFDRead (), &readers);
740 case Cody::Server::WRITING:
741 found = FD_ISSET (server->GetFDWrite (), &writers);
765 auto *server = connections[active];
766 if (process_server (server, active, epoll_fd))
769 close_server (server, epoll_fd);
786 auto *server = new Cody::Server (resolver, fd);
790 connections.push_back (server);
795 *iter = server;
976 server (name[0] != '=', sock_fd, &r);
983 auto server = Cody::Server (&r, 0, 1);
988 server.PrepareToRead ();
989 while ((err = server.Read ()))
996 server.ProcessRequests ();
998 server.PrepareToWrite ();
999 while ((err = server.Write ()))