7a04f298d2
- update to latest telegram layer - remove some references to fields in tg.Entities that don't exist in the schema - originally added here: https://github.com/beeper/td/commit/820929062a2ba0104397bc01235ab58a9cff780e - referenced here - https://github.com/mautrix/telegramgo/commit/124f0967ed195b5a380c9bd02e170ada9710dde3 - https://github.com/mautrix/telegramgo/commit/4205047aab2e0639217148b5d125bfaab668bd8e
32 lines
568 B
Go
32 lines
568 B
Go
// Package clock abstracts time source.
|
|
package clock
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/gotd/neo"
|
|
)
|
|
|
|
// Clock is current time source.
|
|
type Clock interface {
|
|
Now() time.Time
|
|
Timer(d time.Duration) Timer
|
|
Ticker(d time.Duration) Ticker
|
|
}
|
|
|
|
// Timer abstracts a single event.
|
|
type Timer = neo.Timer
|
|
|
|
// StopTimer stops timer and drains timer channel if Stop() returned false.
|
|
func StopTimer(t Timer) {
|
|
if !t.Stop() {
|
|
select {
|
|
case <-t.C():
|
|
default:
|
|
}
|
|
}
|
|
}
|
|
|
|
// Ticker abstracts a channel that delivers “ticks” of a clock at intervals.
|
|
type Ticker = neo.Ticker
|