func valve[T any](ch chan
The other half of the valve is a goroutine that reads from `ch` and pushes values further down your pipeline. The channel can be buffered or unbuffered, it doesn't matter. Flow through this coupling will only proceed at the rate supported by the goroutine, and you can use this fact to partition your stack into rated flow domains.Sometimes it's better to deploy a simple tool into existing stacks to help patch overload conditions until a "native" fix can be developed.