All Downloads are FREE. Search and download functionalities are using the official Maven repository.

rpc.turbo.transport.client.handler.TurboChannelInitializer Maven / Gradle / Ivy

There is a newer version: 0.0.9
Show newest version
package rpc.turbo.transport.client.handler;

import io.netty.channel.ChannelInitializer;
import io.netty.channel.socket.SocketChannel;
import rpc.turbo.transport.client.codec.RequestEncoder;
import rpc.turbo.transport.client.codec.ResponseDecoder;
import rpc.turbo.transport.client.future.ResponseFutureContainer;
import rpc.turbo.config.TurboConstants;
import rpc.turbo.serialization.Serializer;

public class TurboChannelInitializer extends ChannelInitializer {

	private final ResponseFutureContainer futureContainer;
	private final Serializer serializer;

	public TurboChannelInitializer(ResponseFutureContainer futureContainer, Serializer serializer) {
		this.futureContainer = futureContainer;
		this.serializer = serializer;
	}

	@Override
	public void initChannel(SocketChannel ch) throws Exception {
		ch.pipeline()//
				.addLast("encoder", new RequestEncoder(serializer))//
				.addLast("decoder", new ResponseDecoder(TurboConstants.MAX_FRAME_LENGTH, serializer))//
				.addLast("handler", new TurboClientHandler(futureContainer));
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy