package internal import "context" var ( LogUpdated = EventType("LOG_UPDATE") DNSLog = EventSource("DNS_LOG") ) type EventType string type EventSource string type Event struct { Type EventType `json:"type"` Source EventSource `json:"source"` Payload interface{} `json:"payload"` } type EventPublisher interface { Publish(Event) } type EventSubscriber interface { Subscribe(context.Context) <-chan Event }