Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ServerLimiter

type ServerLimiter struct {
	// contains filtered or unexported fields
}

ServerLimiter provides interface to limit amount of requests

func NewServerLimiter

func NewServerLimiter(servers []string, l int) *ServerLimiter

NewServerLimiter creates a limiter for specific servers list.

func (ServerLimiter) Capacity

func (sl ServerLimiter) Capacity() int

func (ServerLimiter) Enter

func (sl ServerLimiter) Enter(ctx context.Context, s string) error

Enter claims one of free slots or blocks until there is one.

func (ServerLimiter) Leave

func (sl ServerLimiter) Leave(ctx context.Context, s string)

Frees a slot in limiter

Source Files