@Test
public void checkReadFuture() throws Throwable {
int port = AvailablePortFinder.getNextAvailable(1025);
NioSocketAcceptor acceptor = new NioSocketAcceptor();
acceptor.setReuseAddress(true);
acceptor.setHandler(new IoHandlerAdapter() {
@Override
public void sessionOpened(IoSession session) throws Exception {
IoBuffer buffer = IoBuffer.allocate(1);
buffer.put((byte) 125);
buffer.rewind();
session.write(buffer);
}
});
acceptor.bind(new InetSocketAddress(port));
try {
IoConnector connector = new NioSocketConnector();
connector.setHandler(new IoHandlerAdapter());
ConnectFuture connectFuture = connector.connect(new InetSocketAddress("localhost", port));
connectFuture.awaitUninterruptibly();
if (connectFuture.getException() != null) {
throw connectFuture.getException();
}