code: def get_length(self, byte_stream):
          ''' In Hadoop protobuf RPC, some parts of the stream are delimited with protobuf varint,
          while others are delimited with 4 byte integers. This reads 4 bytes from the byte stream
          and retruns the length of the delimited part that follows, by unpacking the 4 bytes
          and returning the first element from a tuple. The tuple that is returned from struc.unpack()
          only contains one element.
          '''
          length = struct.unpack("!i", byte_stream.read(4))[0]
          log.debug("4 bytes delimited part length: %d" % length)
          return lengtf get_length(self, byte_stream):
          ''' In Hadoop protobuf RPC, some parts of the stream are delimited with protobuf varint,
          while others are delimited with 4 byte integers. This reads 4 bytes from the byte stream
          and retruns the length of the delimited part that follows, by unpacking the 4 bytes
          and returning the first element from a tuple. The tuple that is returned from struc.unpack()
          only contains one element.
          '''
          length = struct.unpack("!i", byte_stream.read(4))[0]
          log.debug("4 bytes delimited part length: %d" % length)
          return length
docs: In Hadoop protobuf RPC, some parts of the stream are delimited with protobuf varint,
          while others are delimited with 4 byte integers. This reads 4 bytes from the byte stream
          and retruns the length of the delimited part that follows, by unpacking the 4 bytes
          and returning the first element from a tuple. The tuple that is returned from struc.unpack()
          only contains one element.