mirror of
https://github.com/Minestom/Minestom.git
synced 2025-03-09 21:29:08 +01:00
Returned framed buffers should be flipped
Signed-off-by: TheMode <themode@outlook.fr>
This commit is contained in:
parent
00401bed25
commit
23d59cb135
@ -262,7 +262,7 @@ public class PlayerSocketConnection extends PlayerConnection {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void writePacket(@NotNull ServerPacket packet) {
|
private void writePacket(@NotNull ServerPacket packet) {
|
||||||
write(PacketUtils.createFramedPacket(packet, compressed).flip());
|
write(PacketUtils.createFramedPacket(packet, compressed));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void writeAndFlush(@NotNull ServerPacket packet) {
|
public void writeAndFlush(@NotNull ServerPacket packet) {
|
||||||
|
@ -119,8 +119,7 @@ public final class PacketUtils {
|
|||||||
// Send grouped packet...
|
// Send grouped packet...
|
||||||
if (!PACKET_LISTENER_MANAGER.processServerPacket(packet, players))
|
if (!PACKET_LISTENER_MANAGER.processServerPacket(packet, players))
|
||||||
return;
|
return;
|
||||||
final ByteBuffer finalBuffer = createFramedPacket(packet).flip();
|
final FramedPacket framedPacket = new FramedPacket(packet, createFramedPacket(packet));
|
||||||
final FramedPacket framedPacket = new FramedPacket(packet, finalBuffer);
|
|
||||||
// Send packet to all players
|
// Send packet to all players
|
||||||
for (Player player : players) {
|
for (Player player : players) {
|
||||||
if (!player.isOnline() || !playerValidator.isValid(player))
|
if (!player.isOnline() || !playerValidator.isValid(player))
|
||||||
@ -222,7 +221,7 @@ public final class PacketUtils {
|
|||||||
public static ByteBuffer createFramedPacket(@NotNull ServerPacket packet, boolean compression) {
|
public static ByteBuffer createFramedPacket(@NotNull ServerPacket packet, boolean compression) {
|
||||||
ByteBuffer buffer = PACKET_BUFFER.get().clear();
|
ByteBuffer buffer = PACKET_BUFFER.get().clear();
|
||||||
writeFramedPacket(buffer, packet, compression);
|
writeFramedPacket(buffer, packet, compression);
|
||||||
return buffer;
|
return buffer.flip();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiStatus.Internal
|
@ApiStatus.Internal
|
||||||
@ -232,9 +231,9 @@ public final class PacketUtils {
|
|||||||
|
|
||||||
@ApiStatus.Internal
|
@ApiStatus.Internal
|
||||||
public static FramedPacket allocateTrimmedPacket(@NotNull ServerPacket packet) {
|
public static FramedPacket allocateTrimmedPacket(@NotNull ServerPacket packet) {
|
||||||
final ByteBuffer temp = PacketUtils.createFramedPacket(packet).flip();
|
final ByteBuffer temp = PacketUtils.createFramedPacket(packet);
|
||||||
final ByteBuffer buffer = ByteBuffer.allocateDirect(temp.remaining())
|
final int size = temp.remaining();
|
||||||
.put(temp).flip();
|
final ByteBuffer buffer = ByteBuffer.allocateDirect(size).put(0, temp, 0, size);
|
||||||
return new FramedPacket(packet, buffer);
|
return new FramedPacket(packet, buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -248,7 +247,7 @@ public final class PacketUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private synchronized void append(Viewable viewable, ServerPacket serverPacket, Player player) {
|
private synchronized void append(Viewable viewable, ServerPacket serverPacket, Player player) {
|
||||||
final ByteBuffer framedPacket = createFramedPacket(serverPacket).flip();
|
final ByteBuffer framedPacket = createFramedPacket(serverPacket);
|
||||||
final int packetSize = framedPacket.limit();
|
final int packetSize = framedPacket.limit();
|
||||||
if (packetSize >= buffer.capacity()) {
|
if (packetSize >= buffer.capacity()) {
|
||||||
process(viewable);
|
process(viewable);
|
||||||
|
Loading…
Reference in New Issue
Block a user