dashboard/pkg/rate/option.go
2025-05-21 09:37:59 +08:00

37 lines
539 B
Go

package rate
import "time"
type options struct {
fillInterval time.Duration
capacity int64
quantum int64
rate float64
}
type Option func(o *options)
func WithFillInterval(fi time.Duration) Option {
return func(o *options) {
o.fillInterval = fi
}
}
func WithCapacity(cap int64) Option {
return func(o *options) {
o.capacity = cap
}
}
func WithQuantum(qt int64) Option {
return func(o *options) {
o.quantum = qt
}
}
func WithRate(rate float64) Option {
return func(o *options) {
o.rate = rate
}
}