subscriber

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2019 License: Apache-2.0 Imports: 7 Imported by: 9

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	ID             string
	OfflinePublish vlsubscriber.Publisher
	Topics         topicsTypes.SubscriberInterface
	Version        mqttp.ProtocolVersion
}

Config subscriber config options

type Type

type Type struct {
	Config
	// contains filtered or unexported fields
}

Type subscriber object

func New

func New(c Config) *Type

New allocate new subscriber

func (*Type) Acquire

func (s *Type) Acquire()

Acquire prevent subscriber being deleted before active writes finished

func (*Type) GetID added in v0.0.4

func (s *Type) GetID() string

GetID get subscriber id

func (*Type) GetVersion added in v0.0.4

func (s *Type) GetVersion() mqttp.ProtocolVersion

GetVersion return MQTT protocol version

func (*Type) HasSubscriptions

func (s *Type) HasSubscriptions() bool

HasSubscriptions either has active subscriptions or not

func (*Type) Hash

func (s *Type) Hash() uintptr

Hash returns address of the provider struct. Used by topics provider as a key to subscriber object

func (*Type) Offline

func (s *Type) Offline(shutdown bool)

Offline put session offline if shutdown is true it does unsubscribe from all active subscriptions

func (*Type) Online

func (s *Type) Online(c vlsubscriber.Publisher)

Online moves subscriber to online state since this moment all of publishes are forwarded to provided callback

func (*Type) Publish

func (s *Type) Publish(p *mqttp.Publish, grantedQoS mqttp.QosType, ops mqttp.SubscriptionOptions, ids []uint32) error

Publish message accordingly to subscriber state online: forward message to session offline: persist message

func (*Type) Release

func (s *Type) Release()

Release subscriber once topics provider finished write

func (*Type) Subscribe

func (s *Type) Subscribe(topic string, params *vlsubscriber.SubscriptionParams) ([]*mqttp.Publish, error)

Subscribe to given topic

func (*Type) Subscriptions

func (s *Type) Subscriptions() vlsubscriber.Subscriptions

Subscriptions list active subscriptions

func (*Type) UnSubscribe

func (s *Type) UnSubscribe(topic string) error

UnSubscribe from given topic

Jump to

Keyboard shortcuts

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