bandwidthlimiter

package
v0.0.0-...-07bf88e Latest Latest
Warning

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

Go to latest
Published: Dec 1, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrBufferSizeTooLarge = errors.New("buffer size cannot be greater than bucket size")

Functions

func BandwidthLimitingCopy

func BandwidthLimitingCopy(dst *BandwidthLimitingWriter, src io.Reader) (written int64, err error)

Types

type BandwidthLimitingWriter

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

func NewBandwidthLimitingWriter

func NewBandwidthLimitingWriter(w io.Writer, bucket *Bucket) (*BandwidthLimitingWriter, error)

func (*BandwidthLimitingWriter) ChunkedWrite

func (w *BandwidthLimitingWriter) ChunkedWrite(p []byte) (n int, err error)

func (*BandwidthLimitingWriter) Close

func (w *BandwidthLimitingWriter) Close() (err error)

func (*BandwidthLimitingWriter) GetMetrics

func (w *BandwidthLimitingWriter) GetMetrics() (metrics *interop.InvokeResponseMetrics)

func (*BandwidthLimitingWriter) Write

func (w *BandwidthLimitingWriter) Write(p []byte) (n int, err error)

type Bucket

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

func NewBucket

func NewBucket(capacity int64, initialTokenCount int64, refillNumber int64, refillInterval time.Duration) (*Bucket, error)

type ChunkIterator

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

func NewChunkIterator

func NewChunkIterator(buf []byte, chunkSize int) *ChunkIterator

func (*ChunkIterator) Next

func (i *ChunkIterator) Next() []byte

type Throttler

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

func NewThrottler

func NewThrottler(bucket *Bucket) (*Throttler, error)

Jump to

Keyboard shortcuts

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