awslabs / awslabs/aws-sdk-rust

Enabling TCP keepalive

Open
#1,296 0 comments 2 reactions 0 assignees View on GitHub
feature-request needs-triage
Dominant language
Rust
Stars
3.3k
Forks
290
Avg merge
1d 12h
Merged PRs (30d)
3

Description

### Describe the feature

Node.js and Python SDKs allow you to configure TCP keepalive.
It would be great if the Rust SDK also offered an easy way to set it.

### Use Case

https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html

### Proposed Solution

The default-client uses Hyper, so it’s possible to configure TCP keepalive there.
Legacy 0.14 is also supported.

https://github.com/hyperium/hyper/blob/d77c2599bc023b258b90a17f5b633c8b7b0cbd4b/src/client/conn/http2.rs#L345

https://github.com/hyperium/hyper/blob/72ebcffb7d82cda15aa74507b2cc522ca2a7a94d/tests/client.rs#L3059

### Other Information

_No response_

### Acknowledgements

- [ ] I may be able to implement this feature request
- [ ] This feature might incur a breaking change

### A note for the community

### Community Note
* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue, please leave a comment

Contributor guide

Open the contributing guide

Research direction

Start by locating the default-client's Hyper integration and the code path supporting legacy 0.14. Review the linked Hyper client connection implementation and tests for TCP keepalive handling. Done means the Rust SDK offers an easy way to configure TCP keepalive through both supported client paths.

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
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.