forked from lug/matterbridge
Add sshchat dependencies in vendor
This commit is contained in:
25
vendor/github.com/shazow/rateio/writer.go
generated
vendored
Normal file
25
vendor/github.com/shazow/rateio/writer.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
package rateio
|
||||
|
||||
import "io"
|
||||
|
||||
type writer struct {
|
||||
io.Writer
|
||||
Limiter
|
||||
}
|
||||
|
||||
// Write writes the contents of p into the buffer.
|
||||
// Returns ErrRateExceeded error if our specified read is exceeded.
|
||||
func (w *writer) Write(p []byte) (n int, err error) {
|
||||
n, err = w.Writer.Write(p)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
err = w.Limiter.Count(n)
|
||||
return
|
||||
}
|
||||
|
||||
// NewWriter proxies an io.Writer but keeps track of bytes read based on our Limiter.
|
||||
func NewWriter(w io.Writer, limiter Limiter) io.Writer {
|
||||
return &writer{w, limiter}
|
||||
}
|
||||
Reference in New Issue
Block a user