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);
}
}