aboutsummaryrefslogtreecommitdiffstats
path: root/event/event.go
diff options
context:
space:
mode:
Diffstat (limited to 'event/event.go')
-rw-r--r--event/event.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/event/event.go b/event/event.go
index 74f8043da..09759ee50 100644
--- a/event/event.go
+++ b/event/event.go
@@ -7,8 +7,16 @@ import (
"sync"
)
+// Subscription is implemented by event subscriptions.
type Subscription interface {
+ // Chan returns a channel that carries events.
+ // Implementations should return the same channel
+ // for any subsequent calls to Chan.
Chan() <-chan interface{}
+
+ // Unsubscribe stops delivery of events to a subscription.
+ // The event channel is closed.
+ // Unsubscribe can be called more than once.
Unsubscribe()
}
@@ -21,6 +29,7 @@ type TypeMux struct {
stopped bool
}
+// ErrMuxClosed is returned when Posting on a closed TypeMux.
var ErrMuxClosed = errors.New("event: mux closed")
// NewTypeMux creates a running mux.