summaryrefslogtreecommitdiffstats
path: root/src/Protocol/Protocol_1_8.cpp
diff options
context:
space:
mode:
authorTiger Wang <ziwei.tiger@outlook.com>2021-06-28 23:12:01 +0200
committerTiger Wang <ziwei.tiger@outlook.com>2021-07-06 22:33:03 +0200
commite735faf7558aff457432a14bdfde893b33d4d311 (patch)
tree35c76c2849b160c4fa112de6fce7a793ed670b9c /src/Protocol/Protocol_1_8.cpp
parentRemove outdated comment and redundant check (diff)
downloadcuberite-e735faf7558aff457432a14bdfde893b33d4d311.tar
cuberite-e735faf7558aff457432a14bdfde893b33d4d311.tar.gz
cuberite-e735faf7558aff457432a14bdfde893b33d4d311.tar.bz2
cuberite-e735faf7558aff457432a14bdfde893b33d4d311.tar.lz
cuberite-e735faf7558aff457432a14bdfde893b33d4d311.tar.xz
cuberite-e735faf7558aff457432a14bdfde893b33d4d311.tar.zst
cuberite-e735faf7558aff457432a14bdfde893b33d4d311.zip
Diffstat (limited to 'src/Protocol/Protocol_1_8.cpp')
-rw-r--r--src/Protocol/Protocol_1_8.cpp45
1 files changed, 16 insertions, 29 deletions
diff --git a/src/Protocol/Protocol_1_8.cpp b/src/Protocol/Protocol_1_8.cpp
index 5c8ffd5df..205a899c1 100644
--- a/src/Protocol/Protocol_1_8.cpp
+++ b/src/Protocol/Protocol_1_8.cpp
@@ -188,6 +188,18 @@ void cProtocol_1_8_0::DataReceived(cByteBuffer & a_Buffer, ContiguousByteBuffer
+void cProtocol_1_8_0::DataPrepared(ContiguousByteBuffer & a_Data)
+{
+ if (m_IsEncrypted)
+ {
+ m_Encryptor.ProcessData(a_Data.data(), a_Data.size());
+ }
+}
+
+
+
+
+
void cProtocol_1_8_0::SendAttachEntity(const cEntity & a_Entity, const cEntity & a_Vehicle)
{
ASSERT(m_State == 3); // In game mode?
@@ -370,7 +382,7 @@ void cProtocol_1_8_0::SendChunkData(const ContiguousByteBufferView a_ChunkData)
ASSERT(m_State == 3); // In game mode?
cCSLock Lock(m_CSPacket);
- SendData(a_ChunkData);
+ m_Client->SendData(a_ChunkData);
}
@@ -3003,31 +3015,6 @@ void cProtocol_1_8_0::SendEntitySpawn(const cEntity & a_Entity, const UInt8 a_Ob
-void cProtocol_1_8_0::SendData(ContiguousByteBufferView a_Data)
-{
- if (m_IsEncrypted)
- {
- std::byte Encrypted[8 KiB]; // Larger buffer, we may be sending lots of data (chunks)
-
- while (a_Data.size() > 0)
- {
- const auto NumBytes = (a_Data.size() > sizeof(Encrypted)) ? sizeof(Encrypted) : a_Data.size();
- m_Encryptor.ProcessData(Encrypted, a_Data.data(), NumBytes);
- m_Client->SendData({ Encrypted, NumBytes });
-
- a_Data = a_Data.substr(NumBytes);
- }
- }
- else
- {
- m_Client->SendData(a_Data);
- }
-}
-
-
-
-
-
void cProtocol_1_8_0::SendPacket(cPacketizer & a_Pkt)
{
ASSERT(m_OutPacketBuffer.GetReadableSpace() == m_OutPacketBuffer.GetUsedSpace());
@@ -3045,7 +3032,7 @@ void cProtocol_1_8_0::SendPacket(cPacketizer & a_Pkt)
cProtocol_1_8_0::CompressPacket(m_Compressor, CompressedPacket);
// Send the packet's payload compressed:
- SendData(CompressedPacket);
+ m_Client->SendData(CompressedPacket);
}
else
{
@@ -3054,10 +3041,10 @@ void cProtocol_1_8_0::SendPacket(cPacketizer & a_Pkt)
ContiguousByteBuffer LengthData;
m_OutPacketLenBuffer.ReadAll(LengthData);
m_OutPacketLenBuffer.CommitRead();
- SendData(LengthData);
+ m_Client->SendData(LengthData);
// Send the packet's payload directly:
- SendData(PacketData);
+ m_Client->SendData(PacketData);
}
// Log the comm into logfile: