How to set server TCP socket options such as `TCP_NODELAY`?
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 361
- Forks
- 165
- Avg merge
- 17h 34m
- Merged PRs (30d)
- 5
Description
hyper has an API for that, see https://docs.rs/hyper/0.12.7/hyper/server/struct.Builder.html#method.tcp_nodelay. However based on the server example code of hyper-rustls, I do not get the required hyper::server::Builder<Incoming>, but a complex type hyper::server::Builder<futures::stream::filter_map::FilterMap<futures::stream::then::Then<futures::stream::and_then::AndThen<tokio_tcp::incoming::Incoming, [closure@webserver/src/lib.rs:328:19: 328:51 serverconfig:_], tokio_rustls::AcceptAsync<tokio_tcp::stream::TcpStream>>, [closure@webserver/src/lib.rs:329:15: 337:10], std::result::Result<std::option::Option<tokio_rustls::TlsStream<tokio_tcp::stream::TcpStream, rustls::server::ServerSession>>, std::io::Error>>, [closure@webserver/src/lib.rs:338:21: 338:26]>>. How to proceed?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the hyper-rustls server example in webserver/src/lib.rs around lines 328-338 and compare its wrapped incoming stream with hyper's Builder::tcp_nodelay API. Determine whether the socket option can be configured before TLS wrapping or whether hyper-rustls needs an API change; done means documenting the supported approach or clearly identifying the required change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100