github.com/fawick/restic@v0.1.1-0.20171126184616-c02923fbfc79/internal/limiter/limiter.go (about) 1 package limiter 2 3 import ( 4 "io" 5 ) 6 7 // Limiter defines an interface that implementors can use to rate limit I/O 8 // according to some policy defined and configured by the implementor. 9 type Limiter interface { 10 // Upstream returns a rate limited reader that is intended to be used in 11 // uploads. 12 Upstream(r io.Reader) io.Reader 13 14 // Downstream returns a rate limited reader that is intended to be used 15 // for downloads. 16 Downstream(r io.Reader) io.Reader 17 }