// NewPeriodicReconciler creates a PeriodicReconciler that will run recFunc at least every // ival, or in response to anything emitted from EventStream.Next() func NewPeriodicReconciler(interval time.Duration, recFunc func(), eStream EventStream) PeriodicReconciler { return &reconciler{ ival: interval, rFunc: recFunc, eStream: eStream, clock: clockwork.NewRealClock(), } }
func NewUnitStatePublisher(reg registry.Registry, mach machine.Machine, ttl time.Duration) *UnitStatePublisher { return &UnitStatePublisher{ mach: mach, ttl: ttl, publisher: newPublisher(reg, ttl), cache: make(map[string]*unit.UnitState), cacheMutex: sync.RWMutex{}, toPublish: make(chan string), toPublishStates: make(map[string]*unit.UnitState), toPublishMutex: sync.RWMutex{}, clock: clockwork.NewRealClock(), } }