class_docstr: Attributes:
   - id
   - dist
   - externId
   - obj
class_docstr_tok: ["Attributes",":","-","id","-","dist","-","externId","-","obj"]
code: def write(self, oprot):
      if (
          oprot._fast_encode is not None
          and self.thrift_spec is not None
      ):
          oprot.trans.write(
              oprot._fast_encode(
                  self, [self.__class__, self.thrift_spec]
              )
          )
          return
      oprot.writeStructBegin("ReplyEntry")
      if self.id is not None:
          oprot.writeFieldBegin("id", TType.I32, 1)
          oprot.writeI32(self.id)
          oprot.writeFieldEnd()
      if self.dist is not None:
          oprot.writeFieldBegin("dist", TType.DOUBLE, 2)
          oprot.writeDouble(self.dist)
          oprot.writeFieldEnd()
      if self.externId is not None:
          oprot.writeFieldBegin("externId", TType.STRING, 3)
          oprot.writeString(
              self.externId.encode("utf-8")
              if sys.version_info[0] == 2
              else self.externId
          )
          oprot.writeFieldEnd()
      if self.obj is not None:
          oprot.writeFieldBegin("obj", TType.STRING, 4)
          oprot.writeBinary(self.obj)
          oprot.writeFieldEnd()
      oprot.writeFieldStop()
      oprot.writeStructEnd()
  
imports: from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
  from thrift.protocol.TProtocol import TProtocolException
  from thrift.TRecursive import fix_spec
  import sys
  from thrift.transport import TTransport
label_desc: Use image node_id 3 for calling the ReplyEntry obj's underlying member method code with example usage: obj.write(oprot) without return types