topics

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	//QosAtMostOnce  == 0
	QosAtMostOnce byte = iota
	//QosAtLeastOnce == 1
	QosAtLeastOnce
	//QosExactlyOnce == 2
	QosExactlyOnce
	//QosFailure ...
	QosFailure = 0x80
)
View Source
const (
	// MWC is the multi-level wildcard
	MWC = "#"

	// SWC is the single level wildcard
	SWC = "+"

	// SEP is the topic level separator
	SEP = "/"

	// SYS is the starting character of the system level topics
	SYS = "$"
)

Variables

This section is empty.

Functions

func Register

func Register(name string, provider TopicsProvider)

Register 注册一个主题提供者

func Unregister

func Unregister(name string)

Unregister 注销

func ValidQos

func ValidQos(qos byte) bool

ValidQos Qos 是否有效

Types

type Manager

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

Manager Topic 管理器

func NewManager

func NewManager(providerName string) (*Manager, error)

NewManager 创建管理器

func (*Manager) Close

func (slf *Manager) Close() error

Close 关闭

func (*Manager) Retain

func (slf *Manager) Retain(msg *message.Publish) error

Retain ...

func (*Manager) Retained

func (slf *Manager) Retained(topic []byte, msgs *[]*message.Publish) error

Retained ...

func (*Manager) Subscribe

func (slf *Manager) Subscribe(topic []byte, qos byte, subscriber interface{}) (byte, error)

Subscribe 订阅主题

func (*Manager) Subscribers

func (slf *Manager) Subscribers(topic []byte, qos byte, subs *[]interface{}, qoss *[]byte) error

Subscribers 订阅多个主题

func (*Manager) Unsubscribe

func (slf *Manager) Unsubscribe(topic []byte, subscriber interface{}) error

Unsubscribe 取消订阅

type TopicsProvider

type TopicsProvider interface {
	Subscribe(topic []byte, qos byte, subscriber interface{}) (byte, error)
	Unsubscribe(topic []byte, subscriber interface{}) error
	Subscribers(topic []byte, qos byte, subs *[]interface{}, qoss *[]byte) error
	Retain(msg *message.Publish) error
	Retained(topic []byte, msgs *[]*message.Publish) error
	Close() error
}

TopicsProvider 主题接口

Jump to

Keyboard shortcuts

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