mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-08-23 22:27:28 +00:00
perf[net]: 网络协议序列化的bytebuf使用池化对象
This commit is contained in:
@@ -21,7 +21,6 @@ import com.zfoo.net.util.SessionUtils;
|
||||
import com.zfoo.protocol.util.JsonUtils;
|
||||
import com.zfoo.protocol.util.StringUtils;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.socket.DatagramPacket;
|
||||
import io.netty.handler.codec.MessageToMessageCodec;
|
||||
@@ -85,9 +84,7 @@ public class UdpCodecHandler extends MessageToMessageCodec<DatagramPacket, Encod
|
||||
@Override
|
||||
protected void encode(ChannelHandlerContext channelHandlerContext, EncodedPacketInfo out, List<Object> list) {
|
||||
try {
|
||||
ByteBuf byteBuf = Unpooled.directBuffer();
|
||||
byteBuf.clear();
|
||||
|
||||
var byteBuf = channelHandlerContext.alloc().ioBuffer();
|
||||
var udpPacketAttachment = (UdpPacketAttachment) out.getPacketAttachment();
|
||||
|
||||
NetContext.getPacketService().write(byteBuf, out.getPacket(), out.getPacketAttachment());
|
||||
|
||||
@@ -21,7 +21,6 @@ import com.zfoo.net.util.SessionUtils;
|
||||
import com.zfoo.protocol.util.JsonUtils;
|
||||
import com.zfoo.protocol.util.StringUtils;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.handler.codec.MessageToMessageCodec;
|
||||
import io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame;
|
||||
@@ -86,8 +85,7 @@ public class WebSocketCodecHandler extends MessageToMessageCodec<WebSocketFrame,
|
||||
@Override
|
||||
protected void encode(ChannelHandlerContext channelHandlerContext, EncodedPacketInfo out, List<Object> list) {
|
||||
try {
|
||||
ByteBuf byteBuf = Unpooled.directBuffer();
|
||||
byteBuf.clear();
|
||||
var byteBuf = channelHandlerContext.alloc().ioBuffer();
|
||||
|
||||
NetContext.getPacketService().write(byteBuf, out.getPacket(), out.getPacketAttachment());
|
||||
list.add(new BinaryWebSocketFrame(byteBuf));
|
||||
|
||||
@@ -126,8 +126,6 @@ public class PacketService implements IPacketService {
|
||||
return;
|
||||
}
|
||||
|
||||
buffer.clear();
|
||||
|
||||
// 预留写入包的长度,一个int字节大小
|
||||
buffer.writeInt(PACKET_HEAD_LENGTH);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user