classpublicPriority 3
PacketEncoder
com.hypixel.hytale.protocol.io.netty.PacketEncoder
extends MessageToByteEncoder
0
Methods
0
Public Methods
0
Fields
1
Constructors
Constructors
public
PacketEncoder()Inheritance
Parent
Current
Interface
Child
Use mouse wheel to zoom, drag to pan. Click nodes to navigate.
Related Classes
Source Code
package com.hypixel.hytale.protocol.io.netty;
import com.hypixel.hytale.protocol.CachedPacket;
import com.hypixel.hytale.protocol.Packet;
import com.hypixel.hytale.protocol.io.PacketIO;
import com.hypixel.hytale.protocol.io.PacketStatsRecorder;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelHandler.Sharable;
import io.netty.handler.codec.MessageToByteEncoder;
import javax.annotation.Nonnull;
@Sharable
public class PacketEncoder extends MessageToByteEncoder<Packet> {
public PacketEncoder() {
}
protected void encode(@Nonnull ChannelHandlerContext ctx, @Nonnull Packet packet, @Nonnull ByteBuf out) {
Class<? extends Packet> packetClass;
if (packet instanceof CachedPacket<?> cached) {
packetClass = (Class<? extends Packet>)cached.getPacketType();
} else {
packetClass = (Class<? extends Packet>)packet.getClass();
}
PacketStatsRecorder statsRecorder = (PacketStatsRecorder)ctx.channel().attr(PacketStatsRecorder.CHANNEL_KEY).get();
if (statsRecorder == null) {
statsRecorder = PacketStatsRecorder.NOOP;
}
PacketIO.writeFramedPacket(packet, packetClass, out, statsRecorder);
}
}