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);
}
}