Basic rate limiting implementation.

Added `--limit-upload` and `--limit-download` flags to rate limit
backups and restores.
This commit is contained in:
rmdashrf
2017-10-08 11:28:03 -07:00
parent 8ceb22fe8a
commit 32637a0328
12 changed files with 1179 additions and 4 deletions

View File

@@ -0,0 +1,17 @@
package limiter
import (
"io"
)
// Limiter defines an interface that implementors can use to rate limit I/O
// according to some policy defined and configured by the implementor.
type Limiter interface {
// Upstream returns a rate limited reader that is intended to be used in
// uploads.
Upstream(r io.Reader) io.Reader
// Downstream returns a rate limited reader that is intended to be used
// for downloads.
Downstream(r io.Reader) io.Reader
}