packets

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2021 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ConnectType     = 1
	ConnackType     = 2
	PublishType     = 3
	PubackType      = 4
	PubrecType      = 5
	PubrelType      = 6
	PubcompType     = 7
	SubscribeType   = 8
	SubackType      = 9
	UnsubscribeType = 10
	UnsubackType    = 11
	PingreqType     = 12
	PingrespType    = 13
	DisconnectType  = 14
)

Below are the constants assigned to each of the MQTT packet types

View Source
const (
	Accepted                        = 0x00
	ErrRefusedBadProtocolVersion    = 0x01
	ErrRefusedIDRejected            = 0x02
	ErrRefusedServerUnavailable     = 0x03
	ErrRefusedBadUsernameOrPassword = 0x04
	ErrRefusedNotAuthorised         = 0x05
	ErrNetworkError                 = 0xFE
	ErrProtocolViolation            = 0xFF
)

Below are the const definitions for error codes returned by Connect()

Variables

View Source
var ConnErrors = map[byte]error{
	Accepted:                        nil,
	ErrRefusedBadProtocolVersion:    errors.New("Unnacceptable protocol version"),
	ErrRefusedIDRejected:            errors.New("Identifier rejected"),
	ErrRefusedServerUnavailable:     errors.New("Server Unavailable"),
	ErrRefusedBadUsernameOrPassword: errors.New("Bad user name or password"),
	ErrRefusedNotAuthorised:         errors.New("Not Authorized"),
	ErrNetworkError:                 errors.New("Network Error"),
	ErrProtocolViolation:            errors.New("Protocol Violation"),
}

ConnErrors is a map of the errors codes constants for Connect() to a Go error

View Source
var ConnackReturnCodes = map[uint8]string{
	0:   "Connection Accepted",
	1:   "Connection Refused: Bad Protocol Version",
	2:   "Connection Refused: Client Identifier Rejected",
	3:   "Connection Refused: Server Unavailable",
	4:   "Connection Refused: Username or Password in unknown format",
	5:   "Connection Refused: Not Authorised",
	254: "Connection Error",
	255: "Connection Refused: Protocol Violation",
}

ConnackReturnCodes is a map of the error codes constants for Connect() to a string representation of the error

Functions

This section is empty.

Types

type ConnAck

type ConnAck struct {
	Header         Header
	SessionPresent bool
	ReturnCode     byte
}

func (*ConnAck) Marshal

func (c *ConnAck) Marshal() ([]byte, error)

func (*ConnAck) MarshalTo

func (c *ConnAck) MarshalTo(buffer []byte) error

func (*ConnAck) Size

func (c *ConnAck) Size() int

func (*ConnAck) Unmarshal

func (c *ConnAck) Unmarshal(buffer []byte) error

type Connect

type Connect struct {
	Header          Header
	ProtocolName    string
	ProtocolVersion byte
	CleanSession    bool
	WillFlag        bool
	WillQos         byte
	WillRetain      bool
	UsernameFlag    bool
	PasswordFlag    bool
	ReservedBit     byte
	Keepalive       uint16

	ClientIdentifier string
	WillTopic        string
	WillMessage      []byte
	Username         string
	Password         []byte
}

func (*Connect) Marshal

func (c *Connect) Marshal() ([]byte, error)

func (*Connect) MarshalTo

func (c *Connect) MarshalTo(buffer []byte) error

func (*Connect) Size

func (c *Connect) Size() int

func (*Connect) Unmarshal

func (c *Connect) Unmarshal(data []byte) error

func (*Connect) Validate

func (c *Connect) Validate() byte

Validate performs validation of the fields of a Connect packet

type Disconnect

type Disconnect struct {
	Header Header
}

func (*Disconnect) Marshal

func (p *Disconnect) Marshal() ([]byte, error)

func (*Disconnect) MarshalTo

func (p *Disconnect) MarshalTo(buffer []byte) error

func (*Disconnect) Size

func (p *Disconnect) Size() int

func (*Disconnect) Unmarshal

func (p *Disconnect) Unmarshal(_ []byte) error
type Header struct {
	MessageType     byte
	Dup             bool
	Qos             byte
	Retain          bool
	RemainingLength int
}

func (*Header) Marshal

func (h *Header) Marshal() ([]byte, error)

func (*Header) MarshalTo

func (h *Header) MarshalTo(buffer []byte) error

func (*Header) Size

func (h *Header) Size() int

type Packet

type Packet interface {
	Size() int
	Marshal() ([]byte, error)
	MarshalTo(buffer []byte) error
	Unmarshal(data []byte) error
}

func UnmarshalPacket

func UnmarshalPacket(reader io.Reader) (Packet, []byte, error)

type PingReq

type PingReq struct {
	Header Header
}

func (*PingReq) Marshal

func (p *PingReq) Marshal() ([]byte, error)

func (*PingReq) MarshalTo

func (p *PingReq) MarshalTo(buffer []byte) error

func (*PingReq) Size

func (p *PingReq) Size() int

func (*PingReq) Unmarshal

func (p *PingReq) Unmarshal(_ []byte) error

type PingResp

type PingResp struct {
	Header Header
}

func (*PingResp) Marshal

func (p *PingResp) Marshal() ([]byte, error)

func (*PingResp) MarshalTo

func (p *PingResp) MarshalTo(buffer []byte) error

func (*PingResp) Size

func (p *PingResp) Size() int

func (*PingResp) Unmarshal

func (p *PingResp) Unmarshal(_ []byte) error

type PubAck

type PubAck struct {
	Header    Header
	MessageID uint16
}

func (*PubAck) Marshal

func (p *PubAck) Marshal() ([]byte, error)

func (*PubAck) MarshalTo

func (p *PubAck) MarshalTo(buffer []byte) error

func (*PubAck) Size

func (p *PubAck) Size() int

func (*PubAck) Unmarshal

func (p *PubAck) Unmarshal(bytes []byte) error

type PubComp

type PubComp struct {
	Header    Header
	MessageID uint16
}

func (*PubComp) Marshal

func (p *PubComp) Marshal() ([]byte, error)

func (*PubComp) MarshalTo

func (p *PubComp) MarshalTo(buffer []byte) error

func (*PubComp) Size

func (p *PubComp) Size() int

func (*PubComp) Unmarshal

func (p *PubComp) Unmarshal(bytes []byte) error

type PubRec

type PubRec struct {
	Header    Header
	MessageID uint16
}

func (*PubRec) Marshal

func (p *PubRec) Marshal() ([]byte, error)

func (*PubRec) MarshalTo

func (p *PubRec) MarshalTo(buffer []byte) error

func (*PubRec) Size

func (p *PubRec) Size() int

func (*PubRec) Unmarshal

func (p *PubRec) Unmarshal(bytes []byte) error

type PubRel

type PubRel struct {
	Header    Header
	MessageID uint16
}

func (*PubRel) Marshal

func (p *PubRel) Marshal() ([]byte, error)

func (*PubRel) MarshalTo

func (p *PubRel) MarshalTo(buffer []byte) error

func (*PubRel) Size

func (p *PubRel) Size() int

func (*PubRel) Unmarshal

func (p *PubRel) Unmarshal(bytes []byte) error

type Publish

type Publish struct {
	Header    Header
	TopicName string
	MessageID uint16
	Payload   []byte
}

func (*Publish) Marshal

func (p *Publish) Marshal() ([]byte, error)

func (*Publish) MarshalTo

func (p *Publish) MarshalTo(buffer []byte) error

func (*Publish) Size

func (p *Publish) Size() int

func (*Publish) Unmarshal

func (p *Publish) Unmarshal(buffer []byte) error

type SubAck

type SubAck struct {
	Header      Header
	MessageID   uint16
	ReturnCodes []byte
}

func (*SubAck) Marshal

func (p *SubAck) Marshal() ([]byte, error)

func (*SubAck) MarshalTo

func (p *SubAck) MarshalTo(buffer []byte) error

func (*SubAck) Size

func (p *SubAck) Size() int

func (*SubAck) Unmarshal

func (p *SubAck) Unmarshal(data []byte) error

type Subscribe

type Subscribe struct {
	Header    Header
	MessageID uint16
	Topics    []string
	Qoss      []byte
}

func (*Subscribe) Marshal

func (s *Subscribe) Marshal() ([]byte, error)

func (*Subscribe) MarshalTo

func (s *Subscribe) MarshalTo(buffer []byte) error

func (*Subscribe) Size

func (s *Subscribe) Size() int

func (*Subscribe) Unmarshal

func (s *Subscribe) Unmarshal(data []byte) error

type UnSubAck

type UnSubAck struct {
	Header    Header
	MessageID uint16
}

func (*UnSubAck) Marshal

func (p *UnSubAck) Marshal() ([]byte, error)

func (*UnSubAck) MarshalTo

func (p *UnSubAck) MarshalTo(buffer []byte) error

func (*UnSubAck) Size

func (p *UnSubAck) Size() int

func (*UnSubAck) Unmarshal

func (p *UnSubAck) Unmarshal(bytes []byte) error

type UnSubscribe

type UnSubscribe struct {
	Header    Header
	MessageID uint16
	Topics    []string
}

func (*UnSubscribe) Marshal

func (s *UnSubscribe) Marshal() ([]byte, error)

func (*UnSubscribe) MarshalTo

func (s *UnSubscribe) MarshalTo(buffer []byte) error

func (*UnSubscribe) Size

func (s *UnSubscribe) Size() int

func (*UnSubscribe) Unmarshal

func (s *UnSubscribe) Unmarshal(data []byte) error

Jump to

Keyboard shortcuts

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