code: def stringReceived(self, frame):
      tr = TTransport.TMemoryBuffer(frame)
      iprot = self._iprot_factory.getProtocol(tr)
      (fname, mtype, rseqid) = iprot.readMessageBegin()
  
      try:
          method = self.recv_map[fname]
      except KeyError:
          method = getattr(self.client, "recv_" + fname)
          self.recv_map[fname] = method
  
      method(iprot, mtype, rseqid)
  
imports: from io import BytesIO
  import struct
  from zope.interface import implementer, Interface, Attribute
  from twisted.internet.protocol import ServerFactory, ClientFactory, connectionDone
  from twisted.internet import defer
  from twisted.internet.threads import deferToThread
  from twisted.protocols import basic
  from twisted.web import server, resource, http
  from thrift.transport import TTransport
label_desc: Use image node_id 5 for calling the ThriftClientProtocol obj's underlying member method code with example usage: obj.stringReceived(frame) without return types