mongodb

package
v0.0.0-...-6ec012c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 6, 2022 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrPublisherClosed = errors.New("publisher is closed")

Functions

This section is empty.

Types

type Database

type Database interface {
	InsertMessages(ctx context.Context, topic string, messages ...*message.Message) error
}

type MongoDatabase

type MongoDatabase struct {
	// contains filtered or unexported fields
}

func NewMongoDatabase

func NewMongoDatabase(
	db *mongo.Database,
	config MongoDatabaseConfig,
	logger watermill.LoggerAdapter,
) (*MongoDatabase, error)

func (*MongoDatabase) InsertMessages

func (m *MongoDatabase) InsertMessages(ctx context.Context, topic string, messages ...*message.Message) error

type MongoDatabaseConfig

type MongoDatabaseConfig struct {
	MessagesCollection string
	SeriesCollection   string
}

type Publisher

type Publisher struct {
	// contains filtered or unexported fields
}

func NewPublisher

func NewPublisher(db Database, logger watermill.LoggerAdapter) (*Publisher, error)

func (*Publisher) Close

func (p *Publisher) Close() error

Close closes the publisher, which means that all Publish calls called before are finished and no more Publish calls are accepted. Close is blocking until all the ongoing Publish calls have returned.

func (*Publisher) Publish

func (p *Publisher) Publish(topic string, messages ...*message.Message) error

type Subscriber

type Subscriber struct {
	// contains filtered or unexported fields
}

func NewSubscriber

func NewSubscriber(db *mongo.Database, consumerGroup string, logger watermill.LoggerAdapter) (*Subscriber, error)

func (*Subscriber) Close

func (s *Subscriber) Close() error

func (*Subscriber) Subscribe

func (s *Subscriber) Subscribe(ctx context.Context, topic string) (o <-chan *message.Message, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL