Skip to content

Commit

Permalink
Fixes #5633 - Allow to configure HttpClient request authority.
Browse files Browse the repository at this point in the history
Fixed initial session recv window update: it was wrong if the initial value was less than the default value (65535).

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
  • Loading branch information
sbordet committed Nov 12, 2020
1 parent 298ddfd commit 96e4b38
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 15 deletions.
Expand Up @@ -111,15 +111,11 @@ public void onOpen()
ISession session = getSession();

int windowDelta = client.getInitialSessionRecvWindow() - FlowControlStrategy.DEFAULT_WINDOW_SIZE;
session.updateRecvWindow(windowDelta);
if (windowDelta > 0)
{
session.updateRecvWindow(windowDelta);
session.frames(null, Arrays.asList(prefaceFrame, settingsFrame, new WindowUpdateFrame(0, windowDelta)), this);
}
else
{
session.frames(null, Arrays.asList(prefaceFrame, settingsFrame), this);
}
}

@Override
Expand Down
Expand Up @@ -376,7 +376,7 @@ public void onSettings(SettingsFrame frame, boolean reply)
case SettingsFrame.INITIAL_WINDOW_SIZE:
{
if (LOG.isDebugEnabled())
LOG.debug("Updating initial window size to {} for {}", value, this);
LOG.debug("Updating initial stream window size to {} for {}", value, this);
flowControl.updateInitialStreamWindow(this, value, false);
break;
}
Expand Down
Expand Up @@ -65,18 +65,12 @@ public void onPreface()
settings = Collections.emptyMap();
SettingsFrame settingsFrame = new SettingsFrame(settings, false);

WindowUpdateFrame windowFrame = null;
int sessionWindow = getInitialSessionRecvWindow() - FlowControlStrategy.DEFAULT_WINDOW_SIZE;
updateRecvWindow(sessionWindow);
if (sessionWindow > 0)
{
updateRecvWindow(sessionWindow);
windowFrame = new WindowUpdateFrame(0, sessionWindow);
}

if (windowFrame == null)
frames(null, Collections.singletonList(settingsFrame), Callback.NOOP);
frames(null, Arrays.asList(settingsFrame, new WindowUpdateFrame(0, sessionWindow)), Callback.NOOP);
else
frames(null, Arrays.asList(settingsFrame, windowFrame), Callback.NOOP);
frames(null, Collections.singletonList(settingsFrame), Callback.NOOP);
}

@Override
Expand Down

0 comments on commit 96e4b38

Please sign in to comment.