added docs

This commit is contained in:
Stephen McQuay 2015-09-30 11:04:39 -07:00
parent 0ad73b982e
commit 9c20a7ff0e
1 changed files with 5 additions and 1 deletions

View File

@ -43,7 +43,7 @@ type BPS struct {
// New Returns a populated and ready to launch BPS. dts is
// a slice of multiples of dt on which to report (e.g. 1x, 10x, 60x dt). dt is
// also how often the values used to send to Rx and Tx are updated.
// also how often the values used to send out in Cur are updated.
func New(dts []int, dt time.Duration) (*BPS, error) {
if len(dts) < 1 {
return nil, errors.New("must specify at least one interval lenght")
@ -116,12 +116,14 @@ func (b *BPS) averages(state []int64) []float64 {
return r
}
// Write implements io.Writer so that one can simply write bytes to the struct.
func (b *BPS) Write(p []byte) (int, error) {
n, err := ioutil.Discard.Write(p)
b.Add(int64(n))
return n, err
}
// Add adds i to the current time bucket.
func (b *BPS) Add(i int64) {
b.Lock()
b.curBs += i
@ -130,6 +132,7 @@ func (b *BPS) Add(i int64) {
b.Unlock()
}
// Cur returns a slice containing the currenly tracked rates.
func (b *BPS) Cur() []float64 {
r := make([]float64, len(b.dts))
b.Lock()
@ -140,6 +143,7 @@ func (b *BPS) Cur() []float64 {
return r
}
// Close cleans up and shuts down a BPS.
func (b *BPS) Close() {
close(b.quit)
<-b.closed