protected void onClose() { handler.onClose(); }
void handleDont(TelnetConnection session) { session.handler.onEcho(false); } },
@Override void handleWill(TelnetConnection session) { session.handler.onNAWS(true); } @Override
@Override public TelnetHandler get() { return new TelnetHandler(); } });
@Override void handleWont(TelnetConnection session) { session.receiveBinary = false; session.handler.onReceiveBinary(false); } },
@Override void handleDont(TelnetConnection session) { session.sendBinary = false; session.handler.onSendBinary(false); }
void handleDo(TelnetConnection session) { session.handler.onSGA(true); } void handleDont(TelnetConnection session) { session.handler.onSGA(false); }
/** * Flush the {@link #pendingBuffer} buffer to {@link TelnetHandler#onData(byte[])}. */ private void flushData() { byte[] data = Arrays.copyOf(pendingBuffer, pendingLength); pendingLength = 0; handler.onData(data); }
public void onInit() { handler.onOpen(this); }
@Override void handle(TelnetConnection session, byte b) { if (b == BYTE_DO) { session.status = DO; } else if (b == BYTE_DONT) { session.status = DONT; } else if (b == BYTE_WILL) { session.status = WILL; } else if (b == BYTE_WONT) { session.status = WONT; } else if (b == BYTE_SB) { session.paramsBuffer = new byte[100]; session.paramsLength = 0; session.status = SB; } else { session.handler.onCommand(b); session.status = DATA; } } },
@Override public TelnetHandler get() { return new TelnetHandler(); } });
@Override void handleWill(TelnetConnection session) { session.receiveBinary = true; session.handler.onReceiveBinary(true); }
@Override void handleDo(TelnetConnection session) { session.sendBinary = true; session.handler.onSendBinary(true); }
void handleDont(TelnetConnection session) { session.handler.onSGA(false); } },
/** * Flush the {@link #pendingBuffer} buffer to {@link TelnetHandler#onData(byte[])}. */ private void flushData() { byte[] data = Arrays.copyOf(pendingBuffer, pendingLength); pendingLength = 0; handler.onData(data); }
public void onInit() { handler.onOpen(this); }
@Override void handle(TelnetConnection session, byte b) { if (b == BYTE_DO) { session.status = DO; } else if (b == BYTE_DONT) { session.status = DONT; } else if (b == BYTE_WILL) { session.status = WILL; } else if (b == BYTE_WONT) { session.status = WONT; } else if (b == BYTE_SB) { session.paramsBuffer = new byte[100]; session.paramsLength = 0; session.status = SB; } else { session.handler.onCommand(b); session.status = DATA; } } },
@Test public void testRejectNAWS() throws Exception { final AtomicReference<Boolean> serverValue = new AtomicReference<>(); WindowSizeOptionHandler optionHandler = new WindowSizeOptionHandler(20, 10, false, false, false, false); testOptionValue(new Supplier<TelnetHandler>() { @Override public TelnetHandler get() { return new TelnetHandler() { @Override protected void onOpen(TelnetConnection conn) { conn.writeDoOption(Option.NAWS); } @Override protected void onNAWS(boolean naws) { serverValue.set(naws); testComplete(); } @Override protected void onSize(int width, int height) { super.onSize(width, height); } }; } }, optionHandler); assertEquals(false, serverValue.get()); assertEquals(false, optionHandler.getAcceptLocal()); }
@Override void handleWont(TelnetConnection session) { session.receiveBinary = false; session.handler.onReceiveBinary(false); } },
@Override void handleWont(TelnetConnection session) { session.handler.onNAWS(false); } @Override