- package time
-
- import (
- "time"
- )
-
- // Now returns the current time in UTC with no monotonic component.
- func Now() time.Time {
- return Canonical(time.Now())
- }
-
- // Canonical returns UTC time with no monotonic component.
- // Stripping the monotonic component is for time equality.
- // See https://github.com/tendermint/tendermint/pull/2203#discussion_r215064334
- func Canonical(t time.Time) time.Time {
- return t.Round(0).UTC()
- }
-
- //go:generate ../../scripts/mockery_generate.sh Source
-
- // Source is an interface that defines a way to fetch the current time.
- type Source interface {
- Now() time.Time
- }
-
- // DefaultSource implements the Source interface using the system clock provided by the standard library.
- type DefaultSource struct{}
-
- func (DefaultSource) Now() time.Time {
- return Now()
- }
|