.option(ChannelOption.SO_REUSEADDR, options.reuseAddr())
.localAddress((null == listenAddress ? new InetSocketAddress(3000) : listenAddress))
.childHandler(new ChannelInitializer<SocketChannel>() {
@Override
public void initChannel(final SocketChannel ch) throws Exception {
SocketChannelConfig config = ch.config();
config.setReceiveBufferSize(options.rcvbuf());
config.setSendBufferSize(options.sndbuf());
config.setKeepAlive(options.keepAlive());
config.setReuseAddress(options.reuseAddr());
config.setSoLinger(options.linger());
config.setTcpNoDelay(options.tcpNoDelay());
if (log.isDebugEnabled()) {
log.debug("CONNECT {}", ch);
}