1
0

Protocol: Use logical outgoing packet types.

This commit is contained in:
Mattes D
2019-09-09 18:22:37 +02:00
parent ad24702b4e
commit 2c804dd34a
17 changed files with 705 additions and 517 deletions

View File

@@ -281,7 +281,7 @@ void cProtocolRecognizer::SendDisconnect(const AString & a_Reason)
else
{
AString Message = Printf("{\"text\":\"%s\"}", EscapeString(a_Reason).c_str());
cPacketizer Pkt(*this, 0x00); // Disconnect packet (in login state)
cPacketizer Pkt(*this, pktDisconnectDuringLogin);
Pkt.WriteString(Message);
}
}
@@ -1196,6 +1196,25 @@ void cProtocolRecognizer::SendPacket(cPacketizer & a_Pkt)
UInt32 cProtocolRecognizer::GetPacketID(ePacketType a_PacketType)
{
switch (a_PacketType)
{
case pktDisconnectDuringLogin: return 0x00;
case pktStatusResponse: return 0x00;
case pktPingResponse: return 0x01;
default:
{
ASSERT(!"cProtocolRecognizer::GetPacketID() called for an unhandled packet");
return 0;
}
}
}
void cProtocolRecognizer::HandlePacketStatusRequest(void)
{
cServer * Server = cRoot::Get()->GetServer();
@@ -1233,7 +1252,7 @@ void cProtocolRecognizer::HandlePacketStatusRequest(void)
Json::FastWriter Writer;
AString Response = Writer.write(ResponseValue);
cPacketizer Pkt(*this, 0x00); // Response packet
cPacketizer Pkt(*this, pktStatusResponse);
Pkt.WriteString(Response);
}
@@ -1249,6 +1268,6 @@ void cProtocolRecognizer::HandlePacketStatusPing()
return;
}
cPacketizer Pkt(*this, 0x01); // Pong packet
cPacketizer Pkt(*this, pktPingResponse);
Pkt.WriteBEInt64(Timestamp);
}