Documentation ¶
Index ¶
- type Gate
- type LocalGate
- type LocalGateImpl
- type RemoteGate
- type RemoteGateImpl
- func (timerGate *RemoteGateImpl) Close()
- func (timerGate *RemoteGateImpl) FireAfter(now time.Time) bool
- func (timerGate *RemoteGateImpl) FireChan() <-chan struct{}
- func (timerGate *RemoteGateImpl) SetCurrentTime(currentTime time.Time) bool
- func (timerGate *RemoteGateImpl) Update(nextTime time.Time) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Gate ¶
type Gate interface { // FireChan return the channel which will be fired when time is up FireChan() <-chan struct{} // FireAfter check will the timer get fired after a certain time FireAfter(now time.Time) bool // Update update the timer gate, return true if update is a success // success means timer is idle or timer is set with a sooner time to fire Update(nextTime time.Time) bool // Close shutdown the timer Close() }
Gate interface
type LocalGate ¶
type LocalGate interface { Gate }
func NewLocalGate ¶
func NewLocalGate(timeSource clock.TimeSource) LocalGate
NewLocalGate create a new timer gate instance
type LocalGateImpl ¶
type LocalGateImpl struct {
// contains filtered or unexported fields
}
func (*LocalGateImpl) FireAfter ¶
func (timerGate *LocalGateImpl) FireAfter(now time.Time) bool
FireAfter check will the timer get fired after a certain time
func (*LocalGateImpl) FireChan ¶
func (timerGate *LocalGateImpl) FireChan() <-chan struct{}
FireChan return the channel which will be fired when time is up
type RemoteGate ¶
type RemoteGateImpl ¶
type RemoteGateImpl struct { // lock for timer and next wakeup time sync.Mutex // contains filtered or unexported fields }
func (*RemoteGateImpl) FireAfter ¶
func (timerGate *RemoteGateImpl) FireAfter(now time.Time) bool
FireAfter check will the timer get fired after a certain time
func (*RemoteGateImpl) FireChan ¶
func (timerGate *RemoteGateImpl) FireChan() <-chan struct{}
FireChan return the channel which will be fired when time is up
func (*RemoteGateImpl) SetCurrentTime ¶
func (timerGate *RemoteGateImpl) SetCurrentTime(currentTime time.Time) bool
SetCurrentTime set the current time, and additionally fire the fire chan if new "current" time is after the next wake up time, return true if "current" is actually updated
Click to show internal directories.
Click to hide internal directories.