// NewCertificateUpdater returns a worker.Worker that watches for changes to // machine addresses and then generates a new state server certificate with those // addresses in the certificate's SAN value. func NewCertificateUpdater(addressWatcher AddressWatcher, getter StateServingInfoGetter, configGetter EnvironConfigGetter, hostPortsGetter APIHostPortsGetter, setter StateServingInfoSetter, ) worker.Worker { return legacy.NewNotifyWorker(&CertificateUpdater{ addressWatcher: addressWatcher, configGetter: configGetter, hostPortsGetter: hostPortsGetter, getter: getter, setter: setter, }) }
func newNotifyHandlerWorker(c *gc.C, setupError, handlerError, teardownError error) (*notifyHandler, worker.Worker) { nh := ¬ifyHandler{ actions: nil, handled: make(chan struct{}, 1), setupError: setupError, teardownError: teardownError, handlerError: handlerError, watcher: &testNotifyWatcher{ changes: make(chan struct{}), }, setupDone: make(chan struct{}), } w := legacy.NewNotifyWorker(nh) select { case <-nh.setupDone: case <-time.After(coretesting.ShortWait): c.Error("Failed waiting for notifyHandler.Setup to be called during SetUpTest") } return nh, w }