bandwidth

package
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2022 License: AGPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Monitor

type Monitor struct {
	NodeCount uint64
	// contains filtered or unexported fields
}

Monitor holds the state of the global bucket monitor

func NewMonitor

func NewMonitor(ctx context.Context, numNodes uint64) *Monitor

NewMonitor returns a monitor with defaults.

func (*Monitor) DeleteBucket

func (m *Monitor) DeleteBucket(bucket string)

DeleteBucket deletes monitoring the 'bucket'

func (*Monitor) GetReport

func (m *Monitor) GetReport(selectBucket SelectionFunction) *madmin.BucketBandwidthReport

GetReport gets the report for all bucket bandwidth details.

func (*Monitor) IsThrottled

func (m *Monitor) IsThrottled(bucket string) bool

IsThrottled returns true if a bucket has bandwidth throttling enabled.

func (*Monitor) SetBandwidthLimit

func (m *Monitor) SetBandwidthLimit(bucket string, limit int64)

SetBandwidthLimit sets the bandwidth limit for a bucket

type MonitorReaderOptions

type MonitorReaderOptions struct {
	Bucket     string
	HeaderSize int
}

MonitorReaderOptions provides configurable options for monitor reader implementation.

type MonitoredReader

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

MonitoredReader represents a throttled reader subject to bandwidth monitoring

func NewMonitoredReader

func NewMonitoredReader(ctx context.Context, m *Monitor, r io.Reader, opts *MonitorReaderOptions) *MonitoredReader

NewMonitoredReader returns reference to a monitored reader that throttles reads to configured bandwidth for the bucket.

func (*MonitoredReader) Read

func (r *MonitoredReader) Read(buf []byte) (n int, err error)

Read implements a throttled read

type SelectionFunction

type SelectionFunction func(bucket string) bool

SelectionFunction for buckets

func SelectBuckets

func SelectBuckets(buckets ...string) SelectionFunction

SelectBuckets will select all the buckets passed in.

Jump to

Keyboard shortcuts

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