@Override
protected void configure(SocketChannel ch) throws Exception {
ChannelPipeline p = ch.pipeline();
switch (testMode) {
case INTERMEDIARY:
p.addLast("decoder", new Socks5InitRequestDecoder());
p.addLast("encoder", Socks5MessageEncoder.INSTANCE);
p.addLast(new Socks5IntermediaryHandler());
break;
case TERMINAL:
p.addLast("decoder", new Socks5InitRequestDecoder());
p.addLast("encoder", Socks5MessageEncoder.INSTANCE);
p.addLast(new Socks5TerminalHandler());
break;
case UNRESPONSIVE:
p.addLast(UnresponsiveHandler.INSTANCE);