blob: f062574ed99512cd4d178799825cdb1155fb799c [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package retry
import "time"
type clock interface {
Now() time.Time
Since(time.Time) time.Duration
type fakeClock struct {
t time.Time
func (c fakeClock) Now() time.Time {
return c.t
func (c fakeClock) Since(startTime time.Time) time.Duration {
return c.t.Sub(startTime)
func (c *fakeClock) Tick(d time.Duration) {
c.t = c.t.Add(d)
type systemClock struct{}
func (c systemClock) Now() time.Time {
return time.Now()
func (c systemClock) Since(startTime time.Time) time.Duration {
return time.Since(startTime)