jguard_server/src/cucky/jquard/server/network/ServerAdapterInitializer.java

34 lines
1.1 KiB
Java

package cucky.jquard.server.network;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelPipeline;
import io.netty.channel.socket.SocketChannel;
import io.netty.handler.codec.serialization.ClassResolvers;
import io.netty.handler.codec.serialization.ObjectDecoder;
import io.netty.handler.codec.serialization.ObjectEncoder;
import io.netty.handler.ssl.SslContext;
public class ServerAdapterInitializer extends ChannelInitializer<SocketChannel> {
private final SslContext sslCtx;
public ServerAdapterInitializer(SslContext sslCtx) {
this.sslCtx = sslCtx;
}
@Override
protected void initChannel(SocketChannel channel) throws Exception {
ChannelPipeline pipeline = channel.pipeline();
pipeline.addLast(sslCtx.newHandler(channel.alloc()));
pipeline.addLast("decoder", new ObjectDecoder(ClassResolvers.cacheDisabled(getClass().getClassLoader())));
pipeline.addLast("encoder", new ObjectEncoder());
pipeline.addLast("handler", new ServerAdapterHandler());
}
}