func NewWriterPool(maxRate int, maxBurst time.Duration) *WriterPool {
	return &WriterPool{
		maxRate:  maxRate,
		maxBurst: maxBurst,
		givenOut: make(map[ThrottlerWriter]struct{}),
	}
}
func NewWriterPool(maxRate int, maxBurst time.Duration) *WriterPool {
	return &WriterPool{
		maxRate:  maxRate,
		maxBurst: maxBurst,
		givenOut: make(map[ThrottlerWriter]struct{}),
	}
}
func NewWriterPool ( maxRate int , maxBurst time . Duration ) * WriterPool { return & WriterPool { maxRate : maxRate , maxBurst : maxBurst , givenOut : make ( map [ ThrottlerWriter ] struct { } ) , } }
// NewWriterPool creates a pool that ensures the writers it wraps will
// respect an overall maxRate, with maxBurst resolution. The semantics
// of the wrapped writers are the same as those of using a plain
// ThrottledWriter.
NewWriterPool creates a pool that ensures the writers it wraps will respect an overall maxRate with maxBurst resolution . The semantics of the wrapped writers are the same as those of using a plain ThrottledWriter .