Back to godoc.org

Package connection

v0.3.2
Latest Go to latest

The latest major version is .

Published: Dec 10, 2019 | License: Apache-2.0 | Module: github.com/VolantMQ/volantmq

Index

Variables

var (
	// ErrConnectionNack connection has not passed requirements and was rejected
	ErrConnectionNack = errors.New("connection: nack")
)

type AuthParams

type AuthParams struct {
	AuthMethod string
	AuthData   []byte
	Reason     mqttp.ReasonCode
}

AuthParams ...

type Callbacks

type Callbacks struct {
	// OnStop called when session stopped net connection and should be either suspended or deleted
	OnStop func(string, bool)
}

Callbacks provided by sessions manager to signal session state

type ConnectParams

type ConnectParams struct {
	AuthParams
	ID              string
	Error           error
	ExpireIn        *uint32
	Will            *mqttp.Publish
	Username        []byte
	Password        []byte
	MaxTxPacketSize uint32
	SendQuota       uint16
	KeepAlive       uint16
	IDGen           bool
	CleanStart      bool
	Durable         bool
	Version         mqttp.ProtocolVersion
}

ConnectParams ...

type DisconnectParams

type DisconnectParams struct {
	Reason  mqttp.ReasonCode
	Packets vlpersistence.PersistedPackets
}

DisconnectParams session state when stopped

type Initial

type Initial interface {
	Accept() (chan interface{}, error)
	Send(mqttp.IFace) error
	Acknowledge(p *mqttp.ConnAck, opts ...Option) error
	Session() Session
	// contains filtered or unexported methods
}

Initial ...

func New

func New(opts ...Option) (Initial, error)

New allocate new connection object

type OnAuthCb

type OnAuthCb func(string, *AuthParams) (mqttp.IFace, error)

OnAuthCb ...

type Option

type Option func(*impl) error

Option callback for connection option

func AttachSession

func AttachSession(val SessionCallbacks) Option

func KeepAlive

func KeepAlive(val int) Option

KeepAlive keep alive period

func MaxRxPacketSize

func MaxRxPacketSize(val uint32) Option

func MaxRxTopicAlias

func MaxRxTopicAlias(val uint16) Option

func MaxTxPacketSize

func MaxTxPacketSize(val uint32) Option

func MaxTxTopicAlias

func MaxTxTopicAlias(val uint16) Option

func Metric

func Metric(val systree.PacketsMetric) Option

func NetConn

func NetConn(val transport.Conn) Option

func OfflineQoS0

func OfflineQoS0(val bool) Option

OfflineQoS0 if true QoS0 messages will be persisted when session is offline and durable

func OnAuth

func OnAuth(val OnAuthCb) Option

func Permissions

func Permissions(val vlauth.Permissions) Option

func Persistence

func Persistence(val vlpersistence.Packets) Option

func RetainAvailable

func RetainAvailable(val bool) Option

func RxQuota

func RxQuota(val int32) Option

func TxQuota

func TxQuota(val int32) Option

type Session

type Session interface {
	Publish(string, *mqttp.Publish)
	SetOptions(opts ...Option) error
	// contains filtered or unexported methods
}

Session ...

type SessionCallbacks

type SessionCallbacks interface {
	SignalPublish(*mqttp.Publish) error
	SignalSubscribe(*mqttp.Subscribe) (mqttp.IFace, error)
	SignalUnSubscribe(*mqttp.UnSubscribe) (mqttp.IFace, error)
	SignalDisconnect(*mqttp.Disconnect) (mqttp.IFace, error)
	SignalOnline()
	SignalOffline()
	SignalConnectionClose(DisconnectParams)
}

SessionCallbacks ...

type WillConfig

type WillConfig struct {
	Topic   string
	Message []byte
	Retain  bool
	QoS     mqttp.QosType
}

WillConfig configures session for will messages

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier