summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorValery Piashchynski <[email protected]>2020-11-10 14:45:59 +0300
committerValery Piashchynski <[email protected]>2020-11-10 14:45:59 +0300
commit7eb675a031d751787b31bd6894c936e86b190ebf (patch)
tree4fd570a325fccfc1e7ed3fa51b3e78c2f4172076 /util
parent49225cd9b0796ba381a767dfebd5b3c1dbbac69e (diff)
Pool options, allocator
Diffstat (limited to 'util')
-rwxr-xr-xutil/events.go10
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)