mirror of
https://github.com/Minestom/Minestom.git
synced 2025-03-13 07:09:51 +01:00
Use direct buffer for framed packets
This commit is contained in:
parent
a9a0a672f0
commit
cd273b4d99
@ -1,7 +1,6 @@
|
||||
package net.minestom.server.network.player;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import io.netty.channel.Channel;
|
||||
import io.netty.channel.ChannelFuture;
|
||||
import io.netty.channel.socket.SocketChannel;
|
||||
@ -153,10 +152,13 @@ public class NettyPlayerConnection extends PlayerConnection {
|
||||
write(new FramedPacket(timedBuffer.getBuffer()));
|
||||
}
|
||||
|
||||
} else
|
||||
} else {
|
||||
write(serverPacket);
|
||||
} else
|
||||
}
|
||||
} else {
|
||||
// Player is probably not logged yet
|
||||
writeAndFlush(serverPacket);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -49,7 +49,7 @@ public final class PacketUtils {
|
||||
// Send grouped packet...
|
||||
final boolean success = PACKET_LISTENER_MANAGER.processServerPacket(packet, players);
|
||||
if (success) {
|
||||
final ByteBuf finalBuffer = createFramedPacket(packet, false);
|
||||
final ByteBuf finalBuffer = createFramedPacket(packet, true);
|
||||
final FramedPacket framedPacket = new FramedPacket(finalBuffer);
|
||||
|
||||
// Send packet to all players
|
||||
@ -62,6 +62,8 @@ public final class PacketUtils {
|
||||
if (playerValidator != null && !playerValidator.isValid(player))
|
||||
continue;
|
||||
|
||||
finalBuffer.retain();
|
||||
|
||||
final PlayerConnection playerConnection = player.getPlayerConnection();
|
||||
if (playerConnection instanceof NettyPlayerConnection) {
|
||||
final NettyPlayerConnection nettyPlayerConnection = (NettyPlayerConnection) playerConnection;
|
||||
@ -69,7 +71,10 @@ public final class PacketUtils {
|
||||
} else {
|
||||
playerConnection.sendPacket(packet);
|
||||
}
|
||||
|
||||
finalBuffer.release();
|
||||
}
|
||||
finalBuffer.release(); // Release last reference
|
||||
}
|
||||
} else {
|
||||
// Write the same packet for each individual players
|
||||
|
Loading…
Reference in New Issue
Block a user