PacketEncoder class

Пакет: com.hypixel.hytale.protocol.io.netty

Файл: com/hypixel/hytale/protocol/io/netty/PacketEncoder.java

extends: MessageToByteEncoder<Packet>

Поля (6)

МодификаторыТипИмя
Class var4
var4
var4
PacketStatsRecorder var6
var6
NetworkChannel var7

Методы (3)

МодификаторыВозвратСигнатура
protected void encodevoid encode(@Nonnull ChannelHandlerContext var1, @Nonnull Packet var2, @Nonnull ByteBuf var3)
if if(var2 instanceof CachedPacket var5)
if if(var6 == null)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.protocol.io.netty;

class="kw">import com.hypixel.hytale.protocol.CachedPacket;
class="kw">import com.hypixel.hytale.protocol.NetworkChannel;
class="kw">import com.hypixel.hytale.protocol.Packet;
class="kw">import com.hypixel.hytale.protocol.io.PacketIO;
class="kw">import com.hypixel.hytale.protocol.io.PacketStatsRecorder;
class="kw">import io.netty.buffer.ByteBuf;
class="kw">import io.netty.channel.ChannelHandlerContext;
class="kw">import io.netty.channel.ChannelHandler.Sharable;
class="kw">import io.netty.handler.codec.MessageToByteEncoder;
class="kw">import javax.annotation.Nonnull;

@Sharable
class="kw">public class PacketEncoder class="kw">extends MessageToByteEncoder<Packet> {
   class="kw">public PacketEncoder() {
   }

   class="kw">protected void encode(@Nonnull ChannelHandlerContext var1, @Nonnull Packet var2, @Nonnull ByteBuf var3) {
      Class var4;
      if (var2 class="kw">instanceof CachedPacket var5) {
         var4 = (Class<? class="kw">extends Packet>)var5.getPacketType();
      } else {
         var4 = (Class<? class="kw">extends Packet>)var2.getClass();
      }

      NetworkChannel var7 = (NetworkChannel)var1.channel().attr(ProtocolUtil.STREAM_CHANNEL_KEY).get();
      if (var7 != null && var7 != var2.getChannel()) {
         throw new IllegalArgumentException("Packet channel " + var2.getChannel() + " does not match stream channel " + var7);
      }

      PacketStatsRecorder var6 = (PacketStatsRecorder)var1.channel().attr(PacketStatsRecorder.CHANNEL_KEY).get();
      if (var6 == null) {
         var6 = PacketStatsRecorder.NOOP;
      }

      PacketIO.writeFramedPacket(var2, var4, var3, var1.alloc(), var6);
   }
}