Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ForceSubType ¶
func ForceSubType(evtType interface{}) event.SubscriptionOpt
ForceSubType is a Subscribe option which overrides the type to which the subscription will be done. Note that the evtType must be assignable to channel type.
This also allows for subscribing to multiple eventbus channels with one Go channel to get better ordering guarantees.
Example: type Event struct{}
func (Event) String() string { return "event" }
eventCh := make(chan fmt.Stringer) // interface { String() string } cancel, err := eventbus.Subscribe(eventCh, event.ForceSubType(new(Event))) [...]
func Stateful ¶
func Stateful(s interface{}) error
Stateful is an Emitter option which makes makes the eventbus channel 'remember' last event sent, and when a new subscriber joins the bus, the remembered event is immediately sent to the subscription channel.
This allows to provide state tracking for dynamic systems, and/or allows new subscribers to verify that there are Emitters on the channel