github.com/xmidt-org/webpa-common@v1.11.9/service/monitor/delayedListener.go (about)

     1  package monitor
     2  
     3  import "github.com/xmidt-org/webpa-common/capacitor"
     4  
     5  // DelayedListener is a decorator for Listener that uses a capacitor to implement a grace period
     6  // between service discovery events.
     7  type DelayedListener struct {
     8  	Listener  Listener
     9  	Capacitor capacitor.Interface
    10  }
    11  
    12  func (dl DelayedListener) MonitorEvent(e Event) {
    13  	dl.Capacitor.Submit(func() {
    14  		dl.Listener.MonitorEvent(e)
    15  	})
    16  }