public void readSetting()

in src/main/java/com/twitter/whiskey/net/SpdySession.java [407:448]


    public void readSetting(int id, int value, boolean persistValue, boolean persisted) {

        if (persisted) {
            closeWithError(new SpdySessionException("received server-persisted SETTINGS"));
            return;
        }

        int delta;
        switch(id) {

            case SpdySettings.MAX_CONCURRENT_STREAMS:
                delta = value - remoteMaxConcurrentStreams;
                remoteMaxConcurrentStreams = value;
                if (delta > 0) {
                    manager.poll(this, delta);
                }
                break;

            case SpdySettings.INITIAL_WINDOW_SIZE:
                delta = value - initialSendWindow;
                for (SpdyStream stream : activeStreams) {
                    if (!stream.isClosedLocally()) {
                        stream.increaseSendWindow(delta);
                        if (delta > 0) {
                            sendData(stream);
                        }
                    }
                }
                break;

            default:
        }

        if (persistValue) {
            SpdySettings settings = storedSettings.get(origin);
            if (settings == null) {
                settings = new SpdySettings();
                storedSettings.put(origin, settings);
            }
            settings.setValue(id, value);
        }
    }