Skip to content

Commit 02b7e68

Browse files
committed
降低内存使用与可能的内存膨胀(不属于泄漏)
1 parent 90e0814 commit 02b7e68

File tree

4 files changed

+19
-1
lines changed

4 files changed

+19
-1
lines changed

kbe/src/lib/network/tcp_packet.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,14 @@ TCPPacket::~TCPPacket(void)
6969
//-------------------------------------------------------------------------------------
7070
size_t TCPPacket::maxBufferSize()
7171
{
72-
return PACKET_MAX_SIZE_TCP * 4;
72+
return PACKET_MAX_SIZE_TCP;
73+
}
74+
75+
//-------------------------------------------------------------------------------------
76+
void TCPPacket::onReclaimObject()
77+
{
78+
Packet::onReclaimObject();
79+
data_resize(maxBufferSize());
7380
}
7481

7582
//-------------------------------------------------------------------------------------

kbe/src/lib/network/tcp_packet.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ class TCPPacket : public Packet
5050
virtual ~TCPPacket(void);
5151

5252
int recvFromEndPoint(EndPoint & ep, Address* pAddr = NULL);
53+
54+
virtual void onReclaimObject();
5355
};
5456

5557
typedef SmartPointer<TCPPacket> TCPPacketPtr;

kbe/src/lib/network/udp_packet.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,13 @@ size_t UDPPacket::maxBufferSize()
7272
return PACKET_MAX_SIZE_UDP;
7373
}
7474

75+
//-------------------------------------------------------------------------------------
76+
void UDPPacket::onReclaimObject()
77+
{
78+
Packet::onReclaimObject();
79+
data_resize(maxBufferSize());
80+
}
81+
7582
//-------------------------------------------------------------------------------------
7683
int UDPPacket::recvFromEndPoint(EndPoint & ep, Address* pAddr)
7784
{

kbe/src/lib/network/udp_packet.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ class UDPPacket : public Packet
4949
virtual ~UDPPacket(void);
5050

5151
int recvFromEndPoint(EndPoint & ep, Address* pAddr = NULL);
52+
53+
virtual void onReclaimObject();
5254
};
5355

5456
typedef SmartPointer<UDPPacket> UDPPacketPtr;

0 commit comments

Comments
 (0)