hyperium / hyper

An HTTP library for Rust
https://hyper.rs
MIT License
14.58k stars 1.6k forks source link

Provides more detailed h2 configuration #2599

Open silence-coding opened 3 years ago

silence-coding commented 3 years ago

H2 provides a large number of configurable parameters, but hyper exposes only some of them. It is recommended that hyper provide these parameters. Currently, some servers return REFUSED_STREAM because of max_concurrent_streams.

https://github.com/hyperium/hyper/blob/5243570137ae49628cb387fff5611eea0add33bf/src/proto/h2/client.rs#L72

seanmonstar commented 3 years ago

It's fine to add some more options to hyper's builders.

(I don't think any of them would help you with servers refusing streams...)

silence-coding commented 3 years ago

Thanks.

kriogenia commented 2 years ago

The missing configurable parameters right now seems to be: max_header_list_size, max_concurrent_streams, initial_max_send_streams, reset_stream_duration and max_send_buffer_size.

I can contribute to this if it's ok.