eclipse-ee4j / eclipse-ee4j/jersey

Clarification: SETTINGS_MAX_CONCURRENT_STREAMS and STREAM_ID_ERROR

Open
#5,451 8 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
730
Forks
382
PR merge metrics
No merged PRs in 30d

Description

The HTTP/2.0 protocol allows a server to limit the client's ability to send multiple streams over the same TCP connection using two ways:
* It tells the client the limit using SETTINGS_MAX_CONCURRENT_STREAMS to prevent the client from exceeding the limit
* It sends to the client STREAM_ID_ERROR when the limit is exceed

As a result, Jersey needs to deal with SETTINGS_MAX_CONCURRENT_STREAMS and STREAM_ID_ERROR. Onfortunately it is not documented publicly *how* Jersey does that. For a better understanding and optimization of HTTP/2 in Jersey it would be beneficial if a member of the Jersey team could briefly outline:
* How can a server application tell Jersey server the limit?
* How does Jersey client react when the calling application exceeds the limit? Will it queue up requests until a slot becomes available, will it open more connections, or will it throw an exception at time of sending the request?
* How does Jersey client notify the calling application about the limit, and about the number of currently available slots?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.