Documentation ¶
Index ¶
- Constants
- func DeserializePayload[T proto.Message](buf []byte) (T, error)
- func SerializePayload(m proto.Message) ([]byte, error)
- type EmptySubscription
- type MessageBus
- type PublishHandler
- type PublishInterceptor
- type ReadHandler
- type Reader
- type SubscribeInterceptor
- type Subscription
- type TestBusOption
- type TestBusOpts
Constants ¶
View Source
const (
DefaultChannelSize = 100
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type EmptySubscription ¶
type EmptySubscription[MessageType any] struct{}
func (EmptySubscription[MessageType]) Channel ¶
func (s EmptySubscription[MessageType]) Channel() <-chan MessageType
func (EmptySubscription[MessageType]) Close ¶
func (s EmptySubscription[MessageType]) Close() error
type MessageBus ¶
type MessageBus interface { Publish(ctx context.Context, channel string, msg proto.Message) error Subscribe(ctx context.Context, channel string, channelSize int) (Reader, error) SubscribeQueue(ctx context.Context, channel string, channelSize int) (Reader, error) }
func NewLocalMessageBus ¶
func NewLocalMessageBus() MessageBus
func NewNatsMessageBus ¶
func NewNatsMessageBus(nc *nats.Conn) MessageBus
func NewRedisMessageBus ¶
func NewRedisMessageBus(rc redis.UniversalClient) MessageBus
func NewTestBus ¶ added in v0.3.4
func NewTestBus(bus MessageBus, opts ...TestBusOption) MessageBus
type PublishHandler ¶ added in v0.3.4
type PublishInterceptor ¶ added in v0.3.4
type PublishInterceptor func(next PublishHandler) PublishHandler
type ReadHandler ¶ added in v0.3.4
type SubscribeInterceptor ¶ added in v0.3.4
type SubscribeInterceptor func(ctx context.Context, channel string, next ReadHandler) ReadHandler
type Subscription ¶
type Subscription[MessageType proto.Message] interface { Channel() <-chan MessageType Close() error }
func Subscribe ¶
func Subscribe[MessageType proto.Message]( ctx context.Context, bus MessageBus, channel string, channelSize int, ) (Subscription[MessageType], error)
func SubscribeQueue ¶
func SubscribeQueue[MessageType proto.Message]( ctx context.Context, bus MessageBus, channel string, channelSize int, ) (Subscription[MessageType], error)
type TestBusOption ¶ added in v0.3.4
type TestBusOption func(*TestBusOpts)
type TestBusOpts ¶ added in v0.3.4
type TestBusOpts struct { PublishInterceptors []PublishInterceptor SubscribeInterceptors []SubscribeInterceptor }
Click to show internal directories.
Click to hide internal directories.