Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type NoopLimiter ¶
type NoopLimiter struct {
}
ServerLimiter provides interface to limit amount of requests
func (NoopLimiter) Capacity ¶
func (l NoopLimiter) Capacity() int
type RealLimiter ¶
type RealLimiter struct {
// contains filtered or unexported fields
}
ServerLimiter provides interface to limit amount of requests
func (RealLimiter) Capacity ¶
func (sl RealLimiter) Capacity() int
type ServerLimiter ¶
type ServerLimiter interface {
Capacity() int
Enter(ctx context.Context, s string) error
Leave(ctx context.Context, s string)
}
func NewServerLimiter ¶
func NewServerLimiter(servers []string, l int) ServerLimiter
NewServerLimiter creates a limiter for specific servers list.
type SimpleLimiter ¶
type SimpleLimiter chan struct{}
func NewSimpleLimiter ¶
func NewSimpleLimiter(l int) SimpleLimiter
func (SimpleLimiter) Enter ¶
func (l SimpleLimiter) Enter()
func (SimpleLimiter) Leave ¶
func (l SimpleLimiter) Leave()
Click to show internal directories.
Click to hide internal directories.