Documentation
¶
Index ¶
- Variables
- type RateLimit
- type RateLimitedListener
- type TimeWindow
- func Day(value int64) TimeWindow
- func Hour(value int64) TimeWindow
- func MakeTimeWindow(t int64, twType string) TimeWindow
- func Minute(value int64) TimeWindow
- func Month(value int64) TimeWindow
- func QuarterHour(value int64) TimeWindow
- func Second(value int64) TimeWindow
- func Week(value int64) TimeWindow
- type TimeWindowFunc
Constants ¶
This section is empty.
Variables ¶
View Source
var TCPRateLimitsField = forms.Field{ Name: "tcp_rate_limits", Validators: []forms.Validator{ forms.IsOptional{}, forms.IsList{ Validators: []forms.Validator{ forms.IsStringMap{ Form: &forms.Form{ Fields: []forms.Field{ { Name: "type", Validators: []forms.Validator{ forms.IsIn{Choices: []interface{}{"second", "minute", "hour"}}, }, }, { Name: "limit", Validators: []forms.Validator{ forms.IsInteger{HasMin: true, Min: 1}, }, }, }, }, }, }, }, }, }
Functions ¶
This section is empty.
Types ¶
type RateLimit ¶
type RateLimit struct { TimeWindow *TimeWindow `json:"timeWindow"` Type string `json:"type"` Limit int64 `json:"limit"` }
type RateLimitedListener ¶
type RateLimitedListener struct {
// contains filtered or unexported fields
}
func MakeRateLimitedListener ¶
func MakeRateLimitedListener(listener net.Listener, rateLimits []*RateLimit) *RateLimitedListener
func (*RateLimitedListener) Accept ¶
func (l *RateLimitedListener) Accept() (net.Conn, error)
Accept a connection, ensuring that rate limits are enforced
func (*RateLimitedListener) Addr ¶
func (l *RateLimitedListener) Addr() net.Addr
func (*RateLimitedListener) Close ¶
func (l *RateLimitedListener) Close() error
type TimeWindow ¶
func Day ¶
func Day(value int64) TimeWindow
func Hour ¶
func Hour(value int64) TimeWindow
func MakeTimeWindow ¶
func MakeTimeWindow(t int64, twType string) TimeWindow
func Minute ¶
func Minute(value int64) TimeWindow
func Month ¶
func Month(value int64) TimeWindow
func QuarterHour ¶
func QuarterHour(value int64) TimeWindow
func Second ¶
func Second(value int64) TimeWindow
func Week ¶
func Week(value int64) TimeWindow
func (*TimeWindow) Copy ¶
func (t *TimeWindow) Copy() TimeWindow
func (*TimeWindow) EqualTo ¶
func (t *TimeWindow) EqualTo(tw *TimeWindow) bool
type TimeWindowFunc ¶
type TimeWindowFunc func(int64) TimeWindow
Click to show internal directories.
Click to hide internal directories.