package com.dianping.dproxy.socks; import org.jboss.netty.channel.ChannelPipeline; import org.jboss.netty.channel.ChannelPipelineFactory; import org.jboss.netty.channel.Channels; import org.jboss.netty.channel.socket.ClientSocketChannelFactory; import org.jboss.netty.handler.codec.socks.SocksInitRequestDecoder; /** * @author yihua.huang@dianping.com */ public class SocksProxyPipelineFactory implements ChannelPipelineFactory { private final ClientSocketChannelFactory cf; public SocksProxyPipelineFactory(ClientSocketChannelFactory cf) { this.cf = cf; } @Override public ChannelPipeline getPipeline() throws Exception { ChannelPipeline pipeline = Channels.pipeline(); pipeline.addLast(SocksInitRequestDecoder.getName(),new SocksInitRequestDecoder()); pipeline.addLast(SocksMessageEncoder.getName(),new SocksMessageEncoder()); pipeline.addLast(SocksServerHandler.getName(),new SocksServerHandler(cf)); return pipeline; } }