mirror of
https://github.com/Nan1t/NanoLimbo.git
synced 2025-07-18 06:50:17 +02:00
38 lines
1.3 KiB
Java
38 lines
1.3 KiB
Java
package ru.nanit.limbo.connection;
|
|
|
|
import io.netty.channel.Channel;
|
|
import io.netty.channel.ChannelInitializer;
|
|
import io.netty.channel.ChannelPipeline;
|
|
import io.netty.handler.timeout.ReadTimeoutHandler;
|
|
import ru.nanit.limbo.configuration.LimboConfig;
|
|
import ru.nanit.limbo.protocol.pipeline.VarIntFrameDecoder;
|
|
import ru.nanit.limbo.protocol.pipeline.PacketDecoder;
|
|
import ru.nanit.limbo.protocol.pipeline.PacketEncoder;
|
|
import ru.nanit.limbo.protocol.pipeline.VarIntLengthEncoder;
|
|
import ru.nanit.limbo.server.LimboServer;
|
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
public class ClientChannelInitializer extends ChannelInitializer<Channel> {
|
|
|
|
private final LimboServer server;
|
|
|
|
public ClientChannelInitializer(LimboServer server){
|
|
this.server = server;
|
|
}
|
|
|
|
@Override
|
|
protected void initChannel(Channel channel) {
|
|
ChannelPipeline pipeline = channel.pipeline();
|
|
|
|
pipeline.addLast("timeout", new ReadTimeoutHandler(server.getConfig().getReadTimeout(),
|
|
TimeUnit.MILLISECONDS));
|
|
pipeline.addLast("frame_decoder", new VarIntFrameDecoder());
|
|
pipeline.addLast("frame_encoder", new VarIntLengthEncoder());
|
|
pipeline.addLast("decoder", new PacketDecoder());
|
|
pipeline.addLast("encoder", new PacketEncoder());
|
|
pipeline.addLast("handler", new ClientConnection(channel, server));
|
|
}
|
|
|
|
}
|