Files
play-with-docker/event/event.go
Jonathan Leibiusky d758c1a303 When playground is created or modified it emits an event. (#225)
The scheduler listens to playground events and updates it's
configuration immediately.
2017-11-23 13:40:06 -03:00

29 lines
887 B
Go

package event
type EventType string
func (e EventType) String() string {
return string(e)
}
var (
INSTANCE_VIEWPORT_RESIZE = EventType("instance viewport resize")
INSTANCE_DELETE = EventType("instance delete")
INSTANCE_NEW = EventType("instance new")
INSTANCE_STATS = EventType("instance stats")
SESSION_NEW = EventType("session new")
SESSION_END = EventType("session end")
SESSION_READY = EventType("session ready")
SESSION_BUILDER_OUT = EventType("session builder out")
PLAYGROUND_NEW = EventType("playground_new")
)
type Handler func(id string, args ...interface{})
type AnyHandler func(eventType EventType, id string, args ...interface{})
type EventApi interface {
Emit(name EventType, id string, args ...interface{})
On(name EventType, handler Handler)
OnAny(handler AnyHandler)
}