// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.server.core.io.netty;

import com.hypixel.hytale.server.core.io.adapter.PacketAdapters;
import com.hypixel.hytale.protocol.Packet;
import io.netty.channel.ChannelHandlerContext;
import com.hypixel.hytale.server.core.io.PacketHandler;
import io.netty.channel.ChannelInboundHandlerAdapter;

public class PlayerChannelHandler extends ChannelInboundHandlerAdapter
{
    private final PacketHandler handler;
    
    public PlayerChannelHandler(final PacketHandler handler) {
        this.handler = handler;
    }
    
    public PacketHandler getHandler() {
        return this.handler;
    }
    
    @Override
    public void channelInactive(final ChannelHandlerContext ctx) {
        this.handler.logCloseMessage();
        this.handler.closed(ctx);
    }
    
    @Override
    public void channelRead(final ChannelHandlerContext ctx, final Object msg) {
        if (!ctx.channel().isActive()) {
            return;
        }
        final Packet packet = (Packet)msg;
        if (!PacketAdapters.__handleInbound(this.handler, packet)) {
            this.handler.handle(packet);
        }
    }
}
