func (s *stream) bufferedNext() (bool, *db.Record, *db.Summary, error) {
	e := s.fifo.Front()
	if e != nil {
		s.fifo.Remove(e)
		return true, e.Value.(*db.Record), nil, nil
	}
	if s.err != nil {
		return true, nil, nil, s.err
	}
	if s.sum != nil {
		return true, nil, s.sum, nil
	}
	return false, nil, nil, nil
}
Acts on buffered data, first return value indicates if buffering
is active or not.
package bolt
import (
	"container/list"
	"errors"
	"time"
	"github.com/neo4j/neo4j-go-driver/v4/neo4j/db"
)
type stream struct {
	keys      []string
	fifo      list.List
	sum       *db.Summary
	err       error
	qid       int64
	fetchSize int
	key       int64
}