Versions in this module Expand all Collapse all v0 v0.4.0 Mar 12, 2021 v0.3.0 Sep 14, 2020 v0.2.1 Sep 9, 2020 Changes in this version + const CONNACK + const CONNECT + const CodeAccepted + const CodeBadUsernameorPsw + const CodeIdentifierRejected + const CodeNotAuthorized + const CodeServerUnavaliable + const CodeUnacceptableProtocolVersion + const DISCONNECT + const FLAG_PUBREL + const FLAG_RESERVED + const FLAG_SUBSCRIBE + const FLAG_UNSUBSCRIBE + const PINGREQ + const PINGRESP + const PUBACK + const PUBCOMP + const PUBLISH + const PUBREC + const PUBREL + const QOS_0 + const QOS_1 + const QOS_2 + const RESERVED + const SUBACK + const SUBSCRIBE + const SUBSCRIBE_FAILURE + const UNSUBACK + const UNSUBSCRIBE + var ErrInvalConnAcknowledgeFlags = errors.New("invalid Connect Acknowledge Flags") + var ErrInvalConnFlags = errors.New("invalid Connect Flags") + var ErrInvalFlags = errors.New("invalid Flags") + var ErrInvalPacketType = errors.New("invalid Packet Type") + var ErrInvalProtocolName = errors.New("invalid protocol name") + var ErrInvalQos = errors.New("invalid Qos,only support qos0 | qos1 | qos2") + var ErrInvalRemainLength = errors.New("Malformed Remaining Length") + var ErrInvalSessionPresent = errors.New("invalid Session Present") + var ErrInvalTopicFilter = errors.New("invalid topic filter") + var ErrInvalTopicName = errors.New("invalid topic name") + var ErrInvalUTF8String = errors.New("invalid utf-8 string") + var ErrInvalUtf8 = errors.New("invalid utf-8 string") + var ErrInvalWillQos = errors.New("invalid Will Qos") + var ErrInvalWillRetain = errors.New("invalid Will Retain") + func DecodeRemainLength(length int) ([]byte, error) + func DecodeUTF8String(buf []byte) (b []byte, size int, err error) + func EncodeRemainLength(r *bufio.Reader) (int, error) + func EncodeUTF8String(buf []byte) (b []byte, size int, err error) + func TopicMatch(topic []byte, topicFilter []byte) bool + func TotalBytes(p Packet) uint + func ValidTopicFilter(p []byte) bool + func ValidTopicName(p []byte) bool + func ValidUTF8(p []byte) bool + type Connack struct + Code byte + FixHeader *FixHeader + SessionPresent int + func NewConnackPacket(fh *FixHeader, r io.Reader) (*Connack, error) + func (c *Connack) Pack(w io.Writer) error + func (c *Connack) String() string + func (c *Connack) Unpack(r io.Reader) error + type Connect struct + AckCode uint8 + CleanSession bool + ClientID []byte + FixHeader *FixHeader + KeepAlive uint16 + Password []byte + PasswordFlag bool + ProtocolLevel byte + ProtocolName []byte + Username []byte + UsernameFlag bool + WillFlag bool + WillMsg []byte + WillQos uint8 + WillRetain bool + WillTopic []byte + func NewConnectPacket(fh *FixHeader, r io.Reader) (*Connect, error) + func (c *Connect) NewConnackPacket(sessionReuse bool) *Connack + func (c *Connect) Pack(w io.Writer) error + func (c *Connect) String() string + func (c *Connect) Unpack(r io.Reader) error + type Disconnect struct + FixHeader *FixHeader + func NewDisConnectPackets(fh *FixHeader, r io.Reader) (*Disconnect, error) + func (d *Disconnect) Pack(w io.Writer) error + func (d *Disconnect) String() string + func (d *Disconnect) Unpack(r io.Reader) error + type FixHeader struct + Flags byte + PacketType byte + RemainLength int + func (fh *FixHeader) Pack(w io.Writer) error + type Message interface + Dup func() bool + PacketID func() PacketID + Payload func() []byte + Qos func() uint8 + Retained func() bool + Topic func() string + type Packet interface + Pack func(w io.Writer) error + String func() string + Unpack func(r io.Reader) error + func NewPacket(fh *FixHeader, r io.Reader) (Packet, error) + type PacketID = uint16 + const MAX_PACKET_ID + const MIN_PACKET_ID + type Pingreq struct + FixHeader *FixHeader + func NewPingreqPacket(fh *FixHeader, r io.Reader) (*Pingreq, error) + func (p *Pingreq) NewPingresp() *Pingresp + func (p *Pingreq) Pack(w io.Writer) error + func (p *Pingreq) String() string + func (p *Pingreq) Unpack(r io.Reader) error + type Pingresp struct + FixHeader *FixHeader + func NewPingrespPacket(fh *FixHeader, r io.Reader) (*Pingresp, error) + func (p *Pingresp) Pack(w io.Writer) error + func (p *Pingresp) String() string + func (p *Pingresp) Unpack(r io.Reader) error + type Puback struct + FixHeader *FixHeader + func NewPubackPacket(fh *FixHeader, r io.Reader) (*Puback, error) + func (p *Puback) Pack(w io.Writer) error + func (p *Puback) String() string + func (p *Puback) Unpack(r io.Reader) error + type Pubcomp struct + FixHeader *FixHeader + func NewPubcompPacket(fh *FixHeader, r io.Reader) (*Pubcomp, error) + func (p *Pubcomp) Pack(w io.Writer) error + func (p *Pubcomp) String() string + func (p *Pubcomp) Unpack(r io.Reader) error + type Publish struct + Dup bool + FixHeader *FixHeader + Payload []byte + Qos uint8 + Retain bool + TopicName []byte + func NewPublishPacket(fh *FixHeader, r io.Reader) (*Publish, error) + func (p *Publish) CopyPublish() *Publish + func (p *Publish) NewPuback() *Puback + func (p *Publish) NewPubrec() *Pubrec + func (p *Publish) Pack(w io.Writer) error + func (p *Publish) String() string + func (p *Publish) Unpack(r io.Reader) error + type Pubrec struct + FixHeader *FixHeader + PacketID PacketID + func NewPubrecPacket(fh *FixHeader, r io.Reader) (*Pubrec, error) + func (p *Pubrec) NewPubrel() *Pubrel + func (p *Pubrec) Pack(w io.Writer) error + func (p *Pubrec) String() string + func (p *Pubrec) Unpack(r io.Reader) error + type Pubrel struct + FixHeader *FixHeader + PacketID PacketID + func NewPubrelPacket(fh *FixHeader, r io.Reader) (*Pubrel, error) + func (p *Pubrel) NewPubcomp() *Pubcomp + func (p *Pubrel) Pack(w io.Writer) error + func (p *Pubrel) String() string + func (p *Pubrel) Unpack(r io.Reader) error + type ReadWriter struct + type Reader struct + func NewReader(r io.Reader) *Reader + func (r *Reader) ReadPacket() (Packet, error) + type Suback struct + FixHeader *FixHeader + PacketID PacketID + Payload []byte + func NewSubackPacket(fh *FixHeader, r io.Reader) (*Suback, error) + func (p *Suback) Pack(w io.Writer) error + func (p *Suback) String() string + func (p *Suback) Unpack(r io.Reader) error + type Subscribe struct + FixHeader *FixHeader + PacketID PacketID + Topics []Topic + func NewSubscribePacket(fh *FixHeader, r io.Reader) (*Subscribe, error) + func (p *Subscribe) NewSubBack() *Suback + func (p *Subscribe) Pack(w io.Writer) error + func (p *Subscribe) String() string + func (p *Subscribe) Unpack(r io.Reader) (err error) + type Topic struct + Name string + Qos uint8 + type Unsuback struct + FixHeader *FixHeader + PacketID PacketID + func NewUnsubackPacket(fh *FixHeader, r io.Reader) (*Unsuback, error) + func (p *Unsuback) Pack(w io.Writer) error + func (p *Unsuback) String() string + func (p *Unsuback) Unpack(r io.Reader) error + type Unsubscribe struct + FixHeader *FixHeader + PacketID PacketID + Topics []string + func NewUnsubscribePacket(fh *FixHeader, r io.Reader) (*Unsubscribe, error) + func (p *Unsubscribe) NewUnSubBack() *Unsuback + func (p *Unsubscribe) Pack(w io.Writer) error + func (p *Unsubscribe) String() string + func (p *Unsubscribe) Unpack(r io.Reader) error + type Writer struct + func NewWriter(w io.Writer) *Writer + func (w *Writer) Flush() error + func (w *Writer) WriteAndFlush(packet Packet) error + func (w *Writer) WritePacket(packet Packet) error