limiter

package
v1.0.24 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2023 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Limiter

type Limiter interface {
	// Upstream returns a rate limited reader that is intended to be used in
	// uploads.
	Upstream(r io.Reader) io.Reader

	// UpstreamWriter returns a rate limited writer that is intended to be used
	// in uploads.
	UpstreamWriter(w io.Writer) io.Writer

	// Downstream returns a rate limited reader that is intended to be used
	// for downloads.
	Downstream(r io.Reader) io.Reader

	// Downstream returns a rate limited reader that is intended to be used
	// for downloads.
	DownstreamWriter(r io.Writer) io.Writer

	// Transport returns an http.RoundTripper limited with the limiter.
	Transport(http.RoundTripper) http.RoundTripper
}

Limiter defines an interface that implementors can use to rate limit I/O according to some policy defined and configured by the implementor.

func NewStaticLimiter

func NewStaticLimiter(uploadKb, downloadKb int) Limiter

NewStaticLimiter constructs a Limiter with a fixed (static) upload and download rate cap

Jump to

Keyboard shortcuts

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