Arcturus-Community/src/main/java/com/eu/habbo/threading/runnables/ChannelReadHandler.java

31 lines
959 B
Java
Raw Normal View History

2018-07-06 15:30:00 +02:00
package com.eu.habbo.threading.runnables;
import com.eu.habbo.Emulator;
import com.eu.habbo.habbohotel.gameclients.GameClientManager;
import com.eu.habbo.messages.ClientMessage;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandlerContext;
public class ChannelReadHandler implements Runnable
{
private final ChannelHandlerContext ctx;
private final Object msg;
public ChannelReadHandler(ChannelHandlerContext ctx, Object msg)
{
this.ctx = ctx;
this.msg = msg;
}
public void run()
{
ByteBuf m = (ByteBuf) msg;
int length = m.readInt();
short header = m.readShort();
ByteBuf body = Unpooled.wrappedBuffer(m.readBytes(m.readableBytes()));
Emulator.getGameServer().getPacketManager().handlePacket(ctx.attr(GameClientManager.CLIENT).get(), new ClientMessage(header, body));
body.release();
m.release();
}
}