diff options
Diffstat (limited to 'util/events.go')
-rwxr-xr-x | util/events.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/util/events.go b/util/events.go index 9e12c4f7..21ebc29b 100755 --- a/util/events.go +++ b/util/events.go @@ -1,5 +1,11 @@ package util +type EventsHandler interface { + NumListeners() int + AddListener(listener EventListener) + Push(e interface{}) +} + // Event listener listens for the events produced by worker, worker pool or other servce. type EventListener func(event interface{}) @@ -8,6 +14,10 @@ type EventHandler struct { listeners []EventListener } +func NewEventsHandler() EventsHandler { + return &EventHandler{listeners: make([]EventListener, 0, 2)} +} + // NumListeners returns number of event listeners. func (eb *EventHandler) NumListeners() int { return len(eb.listeners) |