transport

package
v0.0.0-...-91c7ab2 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Options

type Options struct {
	EdgeID  string // 边缘设备id
	Version string // 物联网协议版本

	Brokers  []string
	ClientID string
	Username string
	Password string
	QOS      uint8

	ResponseTimeout time.Duration // 响应超时时间
}

type Transport

type Transport struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewTransport

func NewTransport(options Options, onConnect onConnectHandler, onConnectionLost onConnectionLostHandler) *Transport

func (*Transport) GenNotifyName

func (t *Transport) GenNotifyName(mid interface{}, mt model.MessageType) string

func (*Transport) IsConnected

func (t *Transport) IsConnected() bool

func (*Transport) Publish

func (t *Transport) Publish(tt model.TopicType, mt model.MessageType, body interface{}) error

func (*Transport) PublishWaitResponse

func (t *Transport) PublishWaitResponse(notifyName string, tt model.TopicType, mt model.MessageType, body interface{}) (interface{}, error)

func (*Transport) RegisterCommandHandler

func (t *Transport) RegisterCommandHandler(handler onCommandHandler) error

func (*Transport) RegisterResponseHandler

func (t *Transport) RegisterResponseHandler(handler onResponseHandler) error

func (*Transport) Run

func (t *Transport) Run()

func (*Transport) Subscribe

func (t *Transport) Subscribe(topics []string) error

func (*Transport) UnSubscribe

func (t *Transport) UnSubscribe(topics []string) error

type Transporter

type Transporter interface {
	Run()

	//IsConnected 是否连接成功
	IsConnected() bool

	Subscribe(topics []string) error
	UnSubscribe(topics []string) error

	Publish(tt model.TopicType, mt model.MessageType, body interface{}) error
	PublishWaitResponse(notifyName string, tt model.TopicType, mt model.MessageType, body interface{}) (interface{}, error)

	GenNotifyName(mid interface{}, mt model.MessageType) string

	RegisterCommandHandler(handler onCommandHandler) error
	RegisterResponseHandler(handler onResponseHandler) error
}

Jump to

Keyboard shortcuts

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