func (h PerHourHasher) Hash(id string) string {
	if h.Clock == nil {
		h.Clock = clock.New()
	}
	return id + ":" + h.Clock.Now().Format("2006-01-02T15")
}
Hash generates the hash for the current period and client.
package speedbump
import (
	"strconv"
	"time"
	"github.com/facebookgo/clock"
)
type PerSecondHasher struct {
	Clock clock.Clock
}
func (h PerSecondHasher) Hash(id string) string {
	if h.Clock == nil {
		h.Clock = clock.New()
	}
	return id + ":" + strconv.FormatInt(h.Clock.Now().Unix(), 10)
}
func (h PerSecondHasher) Duration() time.Duration {
	return time.Second
}
type PerMinuteHasher struct {
	Clock clock.Clock
}
func (h PerMinuteHasher) Hash(id string) string {
	if h.Clock == nil {
		h.Clock = clock.New()
	}
	return id + ":" + h.Clock.Now().Format("2006-01-02T15:04")
}
func (h PerMinuteHasher) Duration() time.Duration {
	return time.Minute
}
type PerHourHasher struct {
	Clock clock.Clock
}