1234567891011121314151617181920212223242526 |
- package bus
- import (
- "context"
- )
- type Bus 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) Bus {
- if v := ctx.Value("bus"); v != nil {
- return v.(Bus)
- } else {
- return nil
- }
- }
- func WitchContext(ctx context.Context, b Bus) context.Context {
- return context.WithValue(ctx, "bus", b)
- }
|