package com.alibaba.doris.dataserver.net.netty; import static org.jboss.netty.channel.Channels.pipeline; import org.jboss.netty.channel.ChannelPipeline; import org.jboss.netty.channel.ChannelPipelineFactory; import com.alibaba.doris.dataserver.ApplicationContext; /** * @author ajun Email:jack.yuj@alibaba-inc.com */ public class NettyDataServerChannelPipelineFactory implements ChannelPipelineFactory { public NettyDataServerChannelPipelineFactory(ApplicationContext appContext) { this.appContext = appContext; collectInfoHandler = new CollectConnectionInfoHandler(appContext); } public ChannelPipeline getPipeline() throws Exception { ChannelPipeline pipeline = pipeline(); pipeline.addLast("decoder", new DataServerDecoder()); pipeline.addLast("encoder", new DataServerEncoder()); pipeline.addLast("collectInfoHandler", collectInfoHandler); pipeline.addLast("handler", new DataServerHandler(appContext)); return pipeline; } public CollectConnectionInfoHandler getCollectConnectionInfoHandler() { return this.collectInfoHandler; } private CollectConnectionInfoHandler collectInfoHandler; private ApplicationContext appContext; }