mqttconn

package module
v0.0.0-...-afa7775 Latest Latest
Warning

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

Go to latest
Published: May 26, 2019 License: BSD-2-Clause Imports: 8 Imported by: 0

README

mqttconn

A sane MQTT client for go based on paho.mqtt.golang that implements net.PacketConn (and therefore net.Conn, io.ReadWriteCloser, io.ReadWriter)

A quick peek

// connect to hivemq public broker with no password, with a default topic test
conn, _ := mqttconn.DialMQTT("mqtt://broker.hivemq.com/test")
// you can also do urls like "mqtt://username:password@server:port/topic"
// or you can just omit to topic like "mqtt://broker.hivemq.com", in which
// case Write and Read are not going to work before calling SetDefaultTopic
// and Subscribe

// publish to topic test
conn.Write([]byte("hello world!"))
// publish to another topic
conn.WriteTo([]byte("hello world!"), mqttconn.TopicAddr("anothertopic"))

// read conn
readBuffer := make([]byte, 4096)
n, addr, err := conn.ReadFrom(readBuffer)
// addr.String() is the topic from which the message is received.
// readBuffer[:n] is the received message

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MQTTConn

type MQTTConn struct {
	mqtt.Client
	// contains filtered or unexported fields
}

MQTTConn wraps around mqtt and provides net.PacketConn functionality

func CreateMQTTConn

func CreateMQTTConn(mqttClient mqtt.Client) (conn *MQTTConn, err error)

CreateMQTTConn wraps around an existing mqtt.Client

func DialMQTT

func DialMQTT(uri string) (conn *MQTTConn, err error)

DialMQTT acts like DialUDP or DialTCP takes in a url like mqtt://username:password@server:port/topic

func (*MQTTConn) Close

func (conn *MQTTConn) Close() error

Close implements net.PacketConn.Close

func (*MQTTConn) LocalAddr

func (conn *MQTTConn) LocalAddr() net.Addr

LocalAddr implements net.PacketConn.LocalAddr

func (*MQTTConn) Read

func (conn *MQTTConn) Read(p []byte) (n int, err error)

Read implements net.PacketConn.Read

func (*MQTTConn) ReadFrom

func (conn *MQTTConn) ReadFrom(p []byte) (n int, addr net.Addr, err error)

ReadFrom implements net.PacketConn.ReadFrom

func (*MQTTConn) RemoteAddr

func (conn *MQTTConn) RemoteAddr() net.Addr

RemoteAddr implements net.PacketConn.RemoteAddr

func (*MQTTConn) SetDeadline

func (conn *MQTTConn) SetDeadline(t time.Time) error

SetDeadline implements net.PacketConn.SetDeadline

func (*MQTTConn) SetDefaultQoS

func (conn *MQTTConn) SetDefaultQoS(qos int)

SetDefaultQoS sets default QOS of a MQTTConn, which Write uses

func (*MQTTConn) SetDefaultTopic

func (conn *MQTTConn) SetDefaultTopic(topic string)

SetDefaultTopic sets default topic of a MQTTConn, which Write uses

func (*MQTTConn) SetReadDeadline

func (conn *MQTTConn) SetReadDeadline(t time.Time) error

SetReadDeadline implements net.PacketConn.SetReadDeadline

func (*MQTTConn) SetWriteDeadline

func (conn *MQTTConn) SetWriteDeadline(t time.Time) error

SetWriteDeadline implements net.PacketConn.SetWriteDeadline

func (*MQTTConn) Subscribe

func (conn *MQTTConn) Subscribe(topic string, qos int) error

Subscribe subscribes to a topic

func (*MQTTConn) Write

func (conn *MQTTConn) Write(p []byte) (n int, err error)

Write implements net.PacketConn.Write

func (*MQTTConn) WriteTo

func (conn *MQTTConn) WriteTo(b []byte, addr net.Addr) (int, error)

WriteTo implements net.PacketConn.WriteTo

type TopicAddr

type TopicAddr string

TopicAddr is topic name conforming to the net.Addr interface

func (TopicAddr) Network

func (addr TopicAddr) Network() string

Network implements net.Addr.Network()

func (TopicAddr) String

func (addr TopicAddr) String() string

String implements net.Addr.String()

Jump to

Keyboard shortcuts

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