14 lines
367 B
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
|
|
}
|