mqtt

package
v0.9.1 Latest Latest
Warning

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

Go to latest
Published: May 2, 2023 License: MIT Imports: 16 Imported by: 21

Documentation

Index

Constants

View Source
const DefaultQoS = 1

DefaultQoS is the default quality of service value.

Variables

View Source
var ErrNotImplemented = errors.New("not implemented")

Functions

This section is empty.

Types

type ModuleTransport added in v0.6.1

type ModuleTransport struct {
	Transport
	// contains filtered or unexported fields
}

func NewModuleTransport added in v0.6.1

func NewModuleTransport(opts ...TransportOption) *ModuleTransport

New returns new Transport transport. See more: https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-mqtt-support

func (*ModuleTransport) Connect added in v0.6.1

func (tr *ModuleTransport) Connect(ctx context.Context, creds transport.Credentials) error

func (*ModuleTransport) Send added in v0.6.1

func (tr *ModuleTransport) Send(ctx context.Context, msg *common.Message) error

func (*ModuleTransport) SubscribeEvents added in v0.6.1

func (tr *ModuleTransport) SubscribeEvents(ctx context.Context, mux transport.MessageDispatcher) error

func (*ModuleTransport) SubscribeTwinUpdates added in v0.9.1

func (tr *ModuleTransport) SubscribeTwinUpdates(ctx context.Context, mux transport.TwinStateDispatcher) error

SubscribeTwinUpdates subscribes to module desired state changes.

type Transport

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

func New

func New(opts ...TransportOption) *Transport

New returns new Transport transport. See more: https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-mqtt-support

func (*Transport) Close

func (tr *Transport) Close() error

func (*Transport) Connect

func (tr *Transport) Connect(ctx context.Context, creds transport.Credentials) error

func (*Transport) CreateModule added in v0.9.1

func (tr *Transport) CreateModule(ctx context.Context, m *iotservice.Module) (*iotservice.Module, error)

CreateModule Creates adds the given module to the registry.

func (*Transport) DeleteModule added in v0.9.1

func (tr *Transport) DeleteModule(ctx context.Context, m *iotservice.Module) error

DeleteModule removes the named device module.

func (*Transport) GetBlobSharedAccessSignature added in v0.9.0

func (tr *Transport) GetBlobSharedAccessSignature(ctx context.Context, blobName string) (string, string, error)

GetBlobSharedAccessSignature is not available in the MQTT transport.

func (*Transport) GetModule added in v0.9.1

func (tr *Transport) GetModule(ctx context.Context, moduleID string) (*iotservice.Module, error)

GetModule retrieves the named module.

func (*Transport) ListModules added in v0.9.1

func (tr *Transport) ListModules(ctx context.Context) ([]*iotservice.Module, error)

ListModules list all the registered modules on the device.

func (*Transport) NotifyUploadComplete added in v0.9.0

func (tr *Transport) NotifyUploadComplete(ctx context.Context, correlationID string, success bool, statusCode int, statusDescription string) error

NotifyUploadComplete is not available in the MQTT transport.

func (*Transport) RegisterDirectMethods

func (tr *Transport) RegisterDirectMethods(ctx context.Context, mux transport.MethodDispatcher) error

func (*Transport) RetrieveTwinProperties

func (tr *Transport) RetrieveTwinProperties(ctx context.Context) ([]byte, error)

func (*Transport) Send

func (tr *Transport) Send(ctx context.Context, msg *common.Message) error

func (*Transport) SetLogger added in v0.1.0

func (tr *Transport) SetLogger(logger logger.Logger)

func (*Transport) SubscribeEvents

func (tr *Transport) SubscribeEvents(ctx context.Context, mux transport.MessageDispatcher) error

func (*Transport) SubscribeTwinUpdates

func (tr *Transport) SubscribeTwinUpdates(ctx context.Context, mux transport.TwinStateDispatcher) error

func (*Transport) UpdateModule added in v0.9.1

func (tr *Transport) UpdateModule(ctx context.Context, m *iotservice.Module) (*iotservice.Module, error)

UpdateModule updates the given module.

func (*Transport) UpdateTwinProperties

func (tr *Transport) UpdateTwinProperties(ctx context.Context, b []byte) (int, error)

func (*Transport) UploadToBlob added in v0.9.0

func (tr *Transport) UploadToBlob(ctx context.Context, sasURI string, file io.Reader, size int64) error

UploadToBlob is not available in the MQTT transport.

type TransportOption

type TransportOption func(tr *Transport)

TransportOption is a transport configuration option.

func WithClientOptionsConfig

func WithClientOptionsConfig(fn func(opts *mqtt.ClientOptions)) TransportOption

WithClientOptionsConfig configures the mqtt client options structure, use it only when you know EXACTLY what you're doing, because changing some of opts attributes may lead to unexpected behaviour.

Typical usecase is to change adjust connect or reconnect interval.

func WithLogger

func WithLogger(l logger.Logger) TransportOption

WithLogger sets logger for errors and warnings plus debug messages when it's enabled.

func WithModelID added in v0.6.2

func WithModelID(modelID string) TransportOption

WithModelId makes the mqtt client register the specified DTDL modelID when a connection is established, this is useful for Azure PNP integration.

func WithWebSocket added in v0.6.0

func WithWebSocket(enable bool) TransportOption

WithWebSocket makes the mqtt client use MQTT over WebSockets on port 443, which is great if e.g. port 8883 is blocked.

Jump to

Keyboard shortcuts

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