class_docstr: Server with a fixed size pool of worker subprocesses to service requests
  
  Note that if you need shared state between the handlers - it's up to you!
  Written by Dvir Volk, doat.com
docstr: Process input/output from a client for as long as possible
docstr_tok: ["Process","input\/output","from","a","client","for","as","long","as","possible"]
code: def serveClient(self, client):
      """Process input/output from a client for as long as possible"""
      itrans = self.inputTransportFactory.getTransport(client)
      otrans = self.outputTransportFactory.getTransport(client)
      iprot = self.inputProtocolFactory.getProtocol(itrans)
      oprot = self.outputProtocolFactory.getProtocol(otrans)
  
      try:
          while True:
              self.processor.process(iprot, oprot)
      except TTransportException:
          pass
      except Exception as x:
          logger.exception(x)
  
      itrans.close()
      otrans.close()
  
file_path: infinity/third_party/thrift/lib/py/src/server/TProcessPoolServer.py
imports: import logging
  from multiprocessing import Process, Value, Condition
  from .TServer import TServer
  from thrift.transport.TTransport import TTransportException
label_desc: Use image node_id 6 for calling the TProcessPoolServer obj's underlying member method code with example usage: obj.serveClient(client) without return types