ratelimit

package
v1.1.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2021 License: BSD-3-Clause Imports: 3 Imported by: 2

Documentation

Overview

Package ratelimit provides a mechanism to rate limit requests based on a string key, refill rate and burst amount. Under the hood, it's a token bucket of size burst amount, that refills at the refill rate.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Limiter

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

func New

func New(r time.Duration, burst int) *Limiter

New returns a new Limiter object with refresh rate and burst amount

func (*Limiter) Allow

func (l *Limiter) Allow(key string, count int) bool

Allow checks if the limiter that belongs to 'key' has not exceeded the limit.

func (*Limiter) Clear

func (l *Limiter) Clear(key string)

Clear deletes the limiter that belongs to 'key'

Jump to

Keyboard shortcuts

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