Versions in this module Expand all Collapse all v0 v0.1.1 Nov 12, 2018 Changes in this version + var ErrAlreadyAcked = errors.New("message already acked") + var ErrAlreadyNacked = errors.New("message already nacked") + type HandlerFunc func(msg *Message) ([]*Message, error) + type HandlerMiddleware func(h HandlerFunc) HandlerFunc + type Message struct + Metadata Metadata + Payload Payload + UUID string + func NewMessage(uuid string, payload Payload) *Message + func (m *Message) Ack() error + func (m *Message) Acked() <-chan struct{} + func (m *Message) Nack() error + func (m *Message) Nacked() <-chan struct{} + type Messages []*Message + func (m Messages) IDs() []string + type Metadata map[string]string + func (m Metadata) Get(key string) string + func (m Metadata) Set(key, value string) + type Payload []byte + type PubSub interface + Close func() error + func NewPubSub(publisher Publisher, subscriber Subscriber) PubSub + type Publisher interface + Close func() error + type Router struct + func NewRouter(config RouterConfig, logger watermill.LoggerAdapter) (*Router, error) + func (r *Router) AddHandler(handlerName string, subscribeTopic string, publishTopic string, pubSub PubSub, ...) error + func (r *Router) AddMiddleware(m ...HandlerMiddleware) + func (r *Router) AddNoPublisherHandler(handlerName string, subscribeTopic string, subscriber Subscriber, ...) error + func (r *Router) AddPlugin(p ...RouterPlugin) + func (r *Router) Close() error + func (r *Router) Logger() watermill.LoggerAdapter + func (r *Router) Run() (err error) + func (r *Router) Running() chan struct{} + type RouterConfig struct + CloseTimeout time.Duration + ServerName string + func (c RouterConfig) Validate() error + type RouterPlugin func(*Router) error + type Subscriber interface + Close func() error v0.1.0 Nov 12, 2018