Documentation ¶
Index ¶
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 RateLimitedListener ¶
type RateLimitedListener struct {
// contains filtered or unexported fields
}
func MakeRateLimitedListener ¶
func MakeRateLimitedListener(listener net.Listener, rateLimits []*services.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
Click to show internal directories.
Click to hide internal directories.