void processWill()

in src/main/java/org/apache/commons/net/telnet/Telnet.java [507:550]


    void processWill(final int option) throws IOException {
        if (debugoptions) {
            System.err.println("RECEIVED WILL: " + TelnetOption.getOption(option));
        }

        if (notifhand != null) {
            notifhand.receivedNegotiation(TelnetNotificationHandler.RECEIVED_WILL, option);
        }

        boolean acceptNewState = false;

        /* open TelnetOptionHandler functionality (start) */
        if (optionHandlers[option] != null) {
            acceptNewState = optionHandlers[option].getAcceptRemote();
        }
        /* open TelnetOptionHandler functionality (end) */

        if (doResponse[option] > 0) {
            --doResponse[option];
            if (doResponse[option] > 0 && stateIsDo(option)) {
                --doResponse[option];
            }
        }

        if (doResponse[option] == 0 && requestedDont(option)) {

            switch (option) {

            default:
                break;

            }

            if (acceptNewState) {
                setWantDo(option);
                sendDo(option);
            } else {
                ++doResponse[option];
                sendDont(option);
            }
        }

        setDo(option);
    }