maeqtt/mqtt/packets/Ping.go

39 lines
678 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)
}