proxy-pool/internal/domain/upstream/fetch_capacity.go

14 lines
367 B
Go

package upstream
// FetchCapacity atomically accounts for expected provider responses before a
// request starts, preventing concurrent reconciliation from exceeding pool limits.
type FetchCapacity interface {
ReserveFetch(upstreamID string) (FetchPermit, bool, error)
}
type FetchPermit interface {
Expected() int
Complete(retained int) error
Cancel() error
}