code: func (r *Reader) Next() bool {
  	err := r.next()
  	if errors.Cause(err) == io.EOF {
  		// The last WAL segment record shouldn't be torn(should be full or last).
  		// The last record would be torn after a crash just before
  		// the last record part could be persisted to disk.
  		if recType(r.curRecTyp) == recFirst || recType(r.curRecTyp) == recMiddle {
  			r.err = errors.New("last record is torn")
  		}
  		return false
  	}
  	r.err = err
  	return r.err == nil
  }
docs: // Next advances the reader to the next records and returns true if it exists.
  // It must not be called again after it returned false.