Protocol 1.7: Added status ping handling.
This commit is contained in:
@@ -103,6 +103,7 @@ void cProtocol172::HandlePacket(UInt32 a_PacketType, UInt32 a_RemainingBytes)
|
||||
switch (a_PacketType)
|
||||
{
|
||||
case 0x00: HandlePacketStatusRequest(a_RemainingBytes); return;
|
||||
case 0x01: HandlePacketStatusPing (a_RemainingBytes); return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -157,6 +158,30 @@ void cProtocol172::HandlePacketStatusRequest(UInt32 a_RemainingBytes)
|
||||
|
||||
|
||||
|
||||
void cProtocol172::HandlePacketStatusPing(UInt32 a_RemainingBytes)
|
||||
{
|
||||
ASSERT(a_RemainingBytes == 8);
|
||||
if (a_RemainingBytes != 8)
|
||||
{
|
||||
m_Client->PacketError(0x01);
|
||||
m_ReceivedData.SkipRead(a_RemainingBytes);
|
||||
m_ReceivedData.CommitRead();
|
||||
return;
|
||||
}
|
||||
Int64 Timestamp;
|
||||
m_ReceivedData.ReadBEInt64(Timestamp);
|
||||
m_ReceivedData.CommitRead();
|
||||
|
||||
cByteBuffer Packet(18);
|
||||
Packet.WriteVarInt(0x01);
|
||||
Packet.WriteBEInt64(Timestamp);
|
||||
WritePacket(Packet);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cProtocol172::WritePacket(cByteBuffer & a_Packet)
|
||||
{
|
||||
cCSLock Lock(m_CSPacket);
|
||||
|
||||
Reference in New Issue
Block a user