1
1
mirror of https://github.com/OpenDiablo2/OpenDiablo2 synced 2024-06-12 18:50:42 +00:00
OpenDiablo2/d2networking/d2netpacket/packet_ping.go
2020-11-23 14:18:30 +01:00

33 lines
714 B
Go

package d2netpacket
import (
"encoding/json"
"time"
"github.com/OpenDiablo2/OpenDiablo2/d2networking/d2netpacket/d2netpackettype"
)
// PingPacket contains the time at which it was sent. It is sent by the
// server and instructs the client to respond with a Pong packet.
type PingPacket struct {
TS time.Time `json:"ts"`
}
// CreatePingPacket returns a NetPacket which declares a GenerateMapPacket
// with the the current time.
func CreatePingPacket() (NetPacket, error) {
ping := PingPacket{
TS: time.Now(),
}
b, err := json.Marshal(ping)
if err != nil {
return NetPacket{PacketType: d2netpackettype.Ping}, err
}
return NetPacket{
PacketType: d2netpackettype.Ping,
PacketData: b,
}, nil
}