message_queue

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2022 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TopicMatch

func TopicMatch(topic []byte, topicFilter []byte) bool

TopicMatch 返回topic和topic filter是否

TopicMatch returns whether the topic and topic filter is matched.

Types

type MessageQueue

type MessageQueue interface {
	// Publish publishes arguments to the given topic subscribers
	// Publish block only when the buffer of one of the subscribers is full.
	Publish(topic string, args ...interface{})
	// Close unsubscribe all subscribers from given topic
	Close(topic string)
	// Subscribe subscribes to the given topic
	Subscribe(topic string, fn interface{}, options ...interface{}) error
	// Unsubscribe unsubscribe handler from the given topic
	Unsubscribe(topic string, fn interface{}) error
	// Stat
	Stat() (stats Stats, err error)
	// Purge
	Purge()
}

MessageQueue implements publish/subscribe messaging paradigm

func New

func New(handlerQueueSize int) MessageQueue

New creates new MessageQueue queueSize sets buffered channel length per subscriber

type Stat

type Stat struct {
	Topic       string
	Subscribers int
}

Stat ...

type Stats

type Stats []Stat

Stats ...

func (Stats) Len

func (s Stats) Len() int

Len ...

func (Stats) Less

func (s Stats) Less(i, j int) bool

Less ...

func (Stats) Swap

func (s Stats) Swap(i, j int)

Swap ...

Jump to

Keyboard shortcuts

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