1234567891011121314151617181920212223242526 |
- package broker
- import (
- "context"
- )
- type Broker interface {
- Publish(e *Event)
- Dispatch(e *Event) (err error)
- DispatchCtx(ctx context.Context, e *Event) (err error)
- Subscribe(sub Subscriber) (err error)
- UnSubscribe(sub Subscriber) (err error)
- Subscribers() []Subscriber
- }
- func FromContext(ctx context.Context) Broker {
- if v := ctx.Value("bus"); v != nil {
- return v.(Broker)
- } else {
- return nil
- }
- }
- func WitchContext(ctx context.Context, b Broker) context.Context {
- return context.WithValue(ctx, "bus", b)
- }
|