maeqtt/mqtt/packets/Ping.go

40 lines
674 B
Go

package packets
import (
"bytes"
"errors"
"io"
)
type PingreqPacket struct {}
func parsePingreq(control controlPacket) (PingreqPacket, error) {
packet := PingreqPacket{}
if control.packetType != PacketTypePingreq {
panic("Wrong packet type for parsePingreq")
}
if control.flags != 0 {
return packet, errors.New("Malformed connect packet")
}
return packet, nil
}
func (r PingreqPacket) Visit(p PacketVisitor) {
p.VisitPing(r)
}
type PingrespPacket struct {}
func (p PingrespPacket) Write(w io.Writer) error {
control := controlPacket {
packetType: PacketTypePingresp,
flags: 0,
reader: bytes.NewReader([]byte{}),
}
return control.write(w)
}