package data

import (
	"context"
	"sync/atomic"
)

type VersionsStream interface {
	Next(ctx context.Context) (*NodeVersion, error)
}

type ListSession struct {
	Next     []*ExtendedNodeVersion
	Stream   VersionsStream
	NamesMap map[string]struct{}
	Context  context.Context
	Cancel   context.CancelFunc
	Acquired atomic.Bool
}