code: def chunks(self):
          
          if self.is_null():
              return
          total = 0
          while True:
              chunk_len = self._rdr.get_uint()
              if chunk_len == 0:
                  if not self.is_unknown_len() and total != self._size:
                      msg = "PLP actual length (%d) doesn't match reported length (%d)" % (total, self._size)
                      self._rdr.session.bad_stream(msg)
  
                  return
  
              total += chunk_len
              left = chunk_len
              while left:
                  buf = self._rdr.recv(left)
                  yield buf
                  left -= len(buf)
docs: Generates chunks from stream, each chunk is an instace of bytes.