messenger

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2022 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Consume added in v0.3.2

func Consume(ctx context.Context, receiver <-chan []byte, consumer Consumer)

func Handle added in v0.4.0

func Handle[T any](message Message, handler Handler[T]) error

func Publish added in v0.4.2

func Publish[T any](sender chan<- []byte, body T) error

func Serialize

func Serialize(message Message) ([]byte, error)

Types

type Consumer added in v0.4.0

type Consumer func(message Message)

type Handler added in v0.4.0

type Handler[T any] func(handleable T) error

type Message

type Message struct {
	Id        string    `json:"id" bson:"_id"`
	Series    string    `json:"series" bson:"series"`
	Revision  int       `json:"revision" bson:"revision"`
	TimeStamp time.Time `json:"time_stamp" bson:"time_stamp"`
	Type      string    `json:"type" bson:"type"`
	Body      any       `json:"body" bson:"body"`
}

func Deserialize

func Deserialize(data []byte) (Message, error)

func NewMessage

func NewMessage(body any) Message

func (Message) Reply

func (m Message) Reply(body any) Message

type Messenger added in v0.3.2

type Messenger interface {
	Receive(exchange string, name string) <-chan []byte
	Send(exchange string) chan<- []byte

	Errors() <-chan error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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