108109110111112113114115116117118
write(session, "3"); assertFalse(canRead(session)); assertEquals("1", getReceived(session)); assertEquals("12", getSent(session)); session.resumeRead(); Thread.sleep(100); write(session, "4"); assertEquals('2', read(session));
148149150151152153154155156157158
write(session, "7"); assertFalse(canRead(session)); assertEquals("12345", getReceived(session)); assertEquals("1234567", getSent(session)); session.resumeRead(); Thread.sleep(100); assertEquals('6', read(session)); assertEquals('7', read(session));
220221222223224225226227228229230
session = m_queue.poll(); try { this.register(session); } catch (Exception e) { e.printStackTrace(); session.resumeRead(); session.resumeWrite(); session.write("r3"); } } }
5556575859606162636465
public void operationComplete(ConnectFuture future) { try { future.getSession().setAttribute(OTHER_IO_SESSION, session); session.setAttribute(OTHER_IO_SESSION, future.getSession()); IoSession session2 = future.getSession(); session2.resumeRead(); session2.resumeWrite(); } catch (RuntimeIoException e) { // Connect failed session.close(true); } finally {
107108109110111112113114115116117
147148149150151152153154155156157
105106107108109110111112113114115
145146147148149150151152153154155
109110111112113114115116117118119
149150151152153154155156157158159