Documentation ¶
Index ¶
- Constants
- func NewRecover(logger log.Logger) func()
- type AckableMessage
- type AckableMessages
- type Acknowledger
- type Config
- type GenericPublisherToSubject
- type GenericSubscriberToSubject
- type Message
- type MessageOption
- type Messages
- type MigrationInfo
- type Migrator
- type Protocol
- type Publisher
- type Subscriber
- type TLSConfig
- type Unsubscribe
Constants ¶
View Source
const ( ContentTypeHeader = "Content-Type" TimestampHeader = "timestamp" )
Variables ¶
This section is empty.
Functions ¶
func NewRecover ¶
Types ¶
type AckableMessage ¶
type AckableMessage struct {
// contains filtered or unexported fields
}
func NewAckableMessage ¶
func (*AckableMessage) Ack ¶
func (m *AckableMessage) Ack() error
func (*AckableMessage) Message ¶
func (m *AckableMessage) Message() *Message
func (*AckableMessage) Nak ¶
func (m *AckableMessage) Nak() error
func (*AckableMessage) NakWithDelay ¶
func (m *AckableMessage) NakWithDelay(delay time.Duration) error
func (*AckableMessage) Span ¶
func (m *AckableMessage) Span() trace.Span
type AckableMessages ¶
type AckableMessages []*AckableMessage
func (AckableMessages) AckMessages ¶
func (mgs AckableMessages) AckMessages() error
func (AckableMessages) NakMessages ¶
func (mgs AckableMessages) NakMessages() error
func (AckableMessages) NakMessagesWithDelay ¶
func (mgs AckableMessages) NakMessagesWithDelay(delay time.Duration) error
type Acknowledger ¶
type Acknowledger func(*AckableMessage) error
func Ack ¶
func Ack() Acknowledger
func Nack ¶
func Nack() Acknowledger
func NackWithDelay ¶
func NackWithDelay(d time.Duration) Acknowledger
type Config ¶
type Config struct { Protocol Protocol `json:"protocol"` URLs []string `json:"url"` TLS TLSConfig `json:"tls"` }
func (Config) ValidateConfigFields ¶
type GenericSubscriberToSubject ¶
type GenericSubscriberToSubject[T any] interface { Subscribe(ctx context.Context, handler func(context.Context, T) Acknowledger) (Unsubscribe, error) }
func NewGenericSubscriberToSubject ¶
func NewGenericSubscriberToSubject[T any]( subscriber Subscriber, decoder encoding.GenericDecoder[T], subject, consumer string, ) GenericSubscriberToSubject[T]
type Message ¶
type Message struct {
// contains filtered or unexported fields
}
func NewMessage ¶
func NewMessage(ctx context.Context, contentType encoding.ContentType, payload []byte, opts ...MessageOption) *Message
type MessageOption ¶
type MessageOption func(*Message)
func WithMessageID ¶
func WithMessageID(id string) MessageOption
func WithMessageMeta ¶
func WithMessageMeta(key, value string) MessageOption
func WithMessageMetas ¶
func WithMessageMetas(metas map[string]string) MessageOption
type MigrationInfo ¶
type MigrationInfo interface {
MigrationID() string
}
type Migrator ¶
type Migrator interface { Migrate(ctx context.Context, migrations []MigrationInfo) error IsMigrated(ctx context.Context, migrations []MigrationInfo) (bool, error) }
type Subscriber ¶
type Subscriber interface { Subscribe( ctx context.Context, subject, consumer string, handler func(context.Context, *Message) Acknowledger, ) (Unsubscribe, error) }
type TLSConfig ¶
type Unsubscribe ¶
type Unsubscribe func() error
Source Files ¶
Click to show internal directories.
Click to hide internal directories.