limiter

package
Version: v0.0.0-...-b9a9d18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 11, 2019 License: BSD-2-Clause Imports: 2 Imported by: 10

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL