Documentation ¶
Overview ¶
Package ioshape provides I/O structures and functions for Traffic Shaping using token-bucket algorithm.
Index ¶
- Variables
- func CopyB(dst io.Writer, src io.Reader, b *Bucket) (written int64, err error)
- func CopyBN(dst io.Writer, src io.Reader, b *Bucket, n int64) (written int64, err error)
- func CopyRate(dst io.Writer, src io.Reader, rate int64) (written int64, err error)
- func CopyRateN(dst io.Writer, src io.Reader, rate int64, n int64) (written int64, err error)
- type Bucket
- type Reader
- type Writer
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrOutOfRange = errors.New("out of range")
ErrOutOfRange is the error used for the result of r/w is out of range.
Functions ¶
Types ¶
type Bucket ¶
type Bucket struct {
// contains filtered or unexported fields
}
Bucket shapes traffic by given rate, burst and Reader/Writer priorities.
func NewBucketRate ¶
NewBucketRate returns a new Bucket and sets rate.
func (*Bucket) Set ¶
Set sets buckets rate and burst in bytes per second. The burst should be greater or equal than the rate. Otherwise burst will be equal rate.
type Reader ¶
Reader is a traffic shaper struct that implements io.Reader interface. A Reader reads from R by B. Priority changes between 0(highest) and 15(lowest).
Click to show internal directories.
Click to hide internal directories.