mirror of
https://github.com/fluencelabs/tendermint
synced 2025-06-29 12:41:44 +00:00
little things
This commit is contained in:
@ -42,11 +42,11 @@ func (t *defaultTicker) Stop() {
|
|||||||
//----------------------------------------
|
//----------------------------------------
|
||||||
// LogicalTickerMaker
|
// LogicalTickerMaker
|
||||||
|
|
||||||
// Construct a TickerMaker that always uses `ch`.
|
// Construct a TickerMaker that always uses `source`.
|
||||||
// It's useful for simulating a deterministic clock.
|
// It's useful for simulating a deterministic clock.
|
||||||
func NewLogicalTickerMaker(ch chan time.Time) TickerMaker {
|
func NewLogicalTickerMaker(source chan time.Time) TickerMaker {
|
||||||
return func(dur time.Duration) Ticker {
|
return func(dur time.Duration) Ticker {
|
||||||
return newLogicalTicker(ch, dur)
|
return newLogicalTicker(source, dur)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,8 +66,8 @@ func newLogicalTicker(source <-chan time.Time, interval time.Duration) Ticker {
|
|||||||
return lt
|
return lt
|
||||||
}
|
}
|
||||||
|
|
||||||
// We clearly need a new goroutine, for logicalTicker may have been created
|
// We need a goroutine to read times from t.source
|
||||||
// from a goroutine separate from the source.
|
// and fire on t.Chan() when `interval` has passed.
|
||||||
func (t *logicalTicker) fireRoutine(interval time.Duration) {
|
func (t *logicalTicker) fireRoutine(interval time.Duration) {
|
||||||
source := t.source
|
source := t.source
|
||||||
|
|
||||||
|
@ -29,7 +29,6 @@ func TestRepeat(t *testing.T) {
|
|||||||
select {
|
select {
|
||||||
case _ = <-rt.Chan():
|
case _ = <-rt.Chan():
|
||||||
case <-timeout:
|
case <-timeout:
|
||||||
panic("QWE")
|
|
||||||
t.Fatal("expected RepeatTimer to fire")
|
t.Fatal("expected RepeatTimer to fire")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -43,7 +42,7 @@ func TestRepeat(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
tm := NewLogicalTickerMaker(ch)
|
tm := NewLogicalTickerMaker(ch)
|
||||||
dur := time.Duration(0) // dontcare
|
dur := time.Duration(10 * time.Millisecond) // less than a second
|
||||||
rt := NewRepeatTimerWithTickerMaker("bar", dur, tm)
|
rt := NewRepeatTimerWithTickerMaker("bar", dur, tm)
|
||||||
|
|
||||||
// Start at 0.
|
// Start at 0.
|
||||||
|
Reference in New Issue
Block a user