Documentation ¶
Index ¶
- type Config
- type Publisher
- type SessionProvider
- type Subscriptions
- type Type
- func (s *Type) Acquire()
- func (s *Type) GetID() string
- func (s *Type) GetVersion() packet.ProtocolVersion
- func (s *Type) HasSubscriptions() bool
- func (s *Type) Hash() uintptr
- func (s *Type) Offline(shutdown bool)
- func (s *Type) Online(c Publisher)
- func (s *Type) Publish(p *packet.Publish, grantedQoS packet.QosType, ops packet.SubscriptionOptions, ...) error
- func (s *Type) Release()
- func (s *Type) Subscribe(topic string, params *topicsTypes.SubscriptionParams) (packet.QosType, []*packet.Publish, error)
- func (s *Type) Subscriptions() Subscriptions
- func (s *Type) UnSubscribe(topic string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { ID string OfflinePublish Publisher Topics topicsTypes.SubscriberInterface Version packet.ProtocolVersion }
Config subscriber config options
type SessionProvider ¶ added in v0.0.4
type SessionProvider interface { Subscriptions() Subscriptions Subscribe(string, *topicsTypes.SubscriptionParams) (packet.QosType, []*packet.Publish, error) UnSubscribe(string) error HasSubscriptions() bool Online(c Publisher) Offline(bool) Hash() uintptr }
SessionProvider passed to present network connection
type Subscriptions ¶
type Subscriptions map[string]*topicsTypes.SubscriptionParams
Subscriptions contains active subscriptions with respective subscription parameters
type Type ¶
type Type struct { Config // contains filtered or unexported fields }
Type subscriber object
func (*Type) Acquire ¶
func (s *Type) Acquire()
Acquire prevent subscriber being deleted before active writes finished
func (*Type) GetVersion ¶ added in v0.0.4
func (s *Type) GetVersion() packet.ProtocolVersion
GetVersion return MQTT protocol version
func (*Type) HasSubscriptions ¶
HasSubscriptions either has active subscriptions or not
func (*Type) Hash ¶
Hash returns address of the provider struct. Used by topics provider as a key to subscriber object
func (*Type) Offline ¶
Offline put session offline if shutdown is true it does unsubscribe from all active subscriptions
func (*Type) Online ¶
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 *packet.Publish, grantedQoS packet.QosType, ops packet.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 *topicsTypes.SubscriptionParams) (packet.QosType, []*packet.Publish, error)
Subscribe to given topic
func (*Type) Subscriptions ¶
func (s *Type) Subscriptions() Subscriptions
Subscriptions list active subscriptions
func (*Type) UnSubscribe ¶
UnSubscribe from given topic