class GeventServer(StreamServer): def __init__(self, processor, *args, **kwargs): self.processor = processor self.transport_factory = TBufferedTransportFactory() self.protocol_factory = THeaderProtocolFactory() super(GeventServer, self).__init__(*args, **kwargs) def serve_forever(self, stop_timeout=None): signal.signal(signal.SIGINT, lambda sig, frame: self.stop()) signal.signal(signal.SIGTERM, lambda sig, frame: self.stop()) super(GeventServer, self).serve_forever(stop_timeout=stop_timeout) def handle(self, client_socket, address): client = TSocket() client.setHandle(client_socket) itrans = self.transport_factory.getTransport(client) iprot = self.protocol_factory.getProtocol(itrans) otrans = self.transport_factory.getTransport(client) oprot = self.protocol_factory.getProtocol(otrans) server_context = TRpcConnectionContext(client, iprot, oprot) try: while self.started: self.processor.process(iprot, oprot, server_context) except TTransportException: pass finally: itrans.close() otrans.close()
class GeventServer(StreamServer): def __init__(self, processor: TProcessor, *args: Any, **kwargs: Any): self.processor = processor self.transport_factory = TBufferedTransportFactory() self.protocol_factory = THeaderProtocolFactory( # allow non-headerprotocol clients to talk with us allowed_client_types=[ THeaderClientType.HEADERS, THeaderClientType.FRAMED_BINARY, THeaderClientType.UNFRAMED_BINARY, ]) super().__init__(*args, **kwargs) # pylint: disable=method-hidden,unused-argument def handle(self, client_socket: socket.socket, address: Address) -> None: client = TSocket() client.setHandle(client_socket) trans = self.transport_factory.getTransport(client) prot = self.protocol_factory.getProtocol(trans) try: while self.started: self.processor.process(prot, prot) except TTransportException: pass finally: trans.close()
class GeventServer(StreamServer): def __init__(self, processor, *args, **kwargs): self.processor = processor self.transport_factory = TBufferedTransportFactory() self.protocol_factory = THeaderProtocolFactory( # allow non-headerprotocol clients to talk with us allowed_client_types=[ THeaderClientType.HEADERS, THeaderClientType.FRAMED_BINARY, THeaderClientType.UNFRAMED_BINARY, ], ) super(GeventServer, self).__init__(*args, **kwargs) def serve_forever(self, stop_timeout=None): signal.signal(signal.SIGINT, lambda sig, frame: self.stop()) signal.signal(signal.SIGTERM, lambda sig, frame: self.stop()) super(GeventServer, self).serve_forever(stop_timeout=stop_timeout) # pylint: disable=method-hidden def handle(self, client_socket, _): client = TSocket() client.setHandle(client_socket) trans = self.transport_factory.getTransport(client) prot = self.protocol_factory.getProtocol(trans) try: while self.started: self.processor.process(prot, prot) except TTransportException: pass finally: trans.close()
class GeventServer(StreamServer): def __init__(self, processor, *args, **kwargs): self.processor = processor self.transport_factory = TBufferedTransportFactory() self.protocol_factory = THeaderProtocolFactory( # allow non-headerprotocol clients to talk with us client_types=[ THeaderTransport.HEADERS_CLIENT_TYPE, THeaderTransport.FRAMED_DEPRECATED, THeaderTransport.UNFRAMED_DEPRECATED, ], ) super(GeventServer, self).__init__(*args, **kwargs) def serve_forever(self, stop_timeout=None): signal.signal(signal.SIGINT, lambda sig, frame: self.stop()) signal.signal(signal.SIGTERM, lambda sig, frame: self.stop()) super(GeventServer, self).serve_forever(stop_timeout=stop_timeout) # pylint: disable=method-hidden def handle(self, client_socket, _): client = TSocket() client.setHandle(client_socket) itrans = self.transport_factory.getTransport(client) iprot = self.protocol_factory.getProtocol(itrans) otrans = self.transport_factory.getTransport(client) oprot = self.protocol_factory.getProtocol(otrans) server_context = TRpcConnectionContext(client, iprot, oprot) try: while self.started: self.processor.process(iprot, oprot, server_context) except TTransportException: pass finally: itrans.close() otrans.close()