@Override void handle(TelnetConnection session, byte b) { if (session.paramsOptionCode == null) { session.paramsOptionCode = b; } else { if (session.paramsIac) { session.paramsIac = false; if (b == BYTE_SE) { try { session.onOptionParameters(session.paramsOptionCode, Arrays.copyOf(session.paramsBuffer, session.paramsLength)); } finally { session.paramsOptionCode = null; session.paramsBuffer = null; session.status = DATA; } } else if (b == BYTE_IAC) { session.appendToParams((byte) -1); } } else { if (b == BYTE_IAC) { session.paramsIac = true; } else { session.appendToParams(b); } } } } },
@Override void handle(TelnetConnection session, byte b) { if (session.paramsOptionCode == null) { session.paramsOptionCode = b; } else { if (session.paramsIac) { session.paramsIac = false; if (b == BYTE_SE) { try { session.onOptionParameters(session.paramsOptionCode, Arrays.copyOf(session.paramsBuffer, session.paramsLength)); } finally { session.paramsOptionCode = null; session.paramsBuffer = null; session.status = DATA; } } else if (b == BYTE_IAC) { session.appendToParams((byte) -1); } } else { if (b == BYTE_IAC) { session.paramsIac = true; } else { session.appendToParams(b); } } } } },