backoff.go
func (b *Backoff) Backoff() {
	time.Sleep(b.NextDuration)
	b.count++
	b.LastDuration = b.NextDuration
	b.NextDuration = b.getNextDuration()
}
func (b *Backoff) Backoff() {
	time.Sleep(b.NextDuration)
	b.count++
	b.LastDuration = b.NextDuration
	b.NextDuration = b.getNextDuration()
}
// Backoff causes the current thread/routine to sleep for NextDuration.