def create_server(self, worker, sock, ssl=None): '''Create the Server Protocol which will listen for requests. It uses the :meth:`protocol_consumer` method as the protocol consumer factory.''' cfg = self.cfg server = TcpServer(worker.event_loop, sock=sock, consumer_factory=self.protocol_consumer(), max_connections=cfg.max_requests, timeout=cfg.keep_alive, name=self.name) for event in ('connection_made', 'pre_request', 'post_request', 'connection_lost'): callback = getattr(cfg, event) if callback != pass_through: server.bind_event(event, callback) server.start_serving(cfg.backlog, sslcontext=worker.params.ssl) return server