@Before public void setUp() throws Exception { acceptor = new NioSocketAcceptor(); KeepAliveMessageFactory factory = new ServerFactory(); KeepAliveFilter filter = new KeepAliveFilter(factory, IdleStatus.BOTH_IDLE); acceptor.getFilterChain().addLast("keep-alive", filter); acceptor.setHandler(new IoHandlerAdapter()); acceptor.setDefaultLocalAddress(new InetSocketAddress(0)); acceptor.bind(); port = acceptor.getLocalAddress().getPort(); }
@Override protected void startService() throws Exception { if (port == 0) { throw new ConfigurationException("Port value not set"); } socketAddress = new InetSocketAddress(port); newCodecFactory(); addListeners(); acceptor = new NioSocketAcceptor(); acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(codecFactory)); if (timeout == -1) { keepAliveHandler = newKeepAliveHandler(); if (keepAliveHandler != null) { KeepAliveFilter kaf = new KeepAliveFilter( keepAliveHandler.getKeepAliveMessageFactory(), IdleStatus.READER_IDLE, keepAliveHandler.getKeepAliveRequestTimeoutHandler(), keepAliveHandler.getRequestInterval(), keepAliveHandler.getRequestTimeout()); acceptor.getFilterChain().addLast("keepalive", kaf); } } else if (timeout > 0) { acceptor.getSessionConfig().setIdleTime(IdleStatus.READER_IDLE, timeout); } acceptor.setBacklog(100); acceptor.setReuseAddress(true); acceptor.setDefaultLocalAddress(socketAddress); acceptor.setHandler(this); acceptor.getSessionConfig().setReadBufferSize(2048); preBindAcceptorHook(acceptor); acceptor.bind(); }
/** {@inheritDoc} */ public void setDefaultLocalAddress(InetSocketAddress localAddress) { setDefaultLocalAddress((SocketAddress) localAddress); }