Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace reqwest with hyper to parallelize HTTP connection attempts #5921

Merged
merged 1 commit into from
Aug 29, 2024

Conversation

link2xt
Copy link
Collaborator

@link2xt link2xt commented Aug 27, 2024

Based on #5927

This PR replaces usage of reqwest and hyper-util with custom connection establishment code so it is done in the same way as for IMAP and SMTP connection. This way we control all HTTP, IMAP and SMTP connection establishment and schedule connection attempts to resolved IP addresses in the same way for all 3 protocols.

Only HTTP/1 is used, there is no attempt to use HTTP/2.

@link2xt link2xt force-pushed the link2xt/no-reqwest branch 2 times, most recently from abd6caf to b3e1471 Compare August 27, 2024 19:56
@link2xt link2xt changed the base branch from main to link2xt/parallel-connection-attempts August 27, 2024 19:57
@link2xt link2xt force-pushed the link2xt/no-reqwest branch 2 times, most recently from f86837b to 0a62b26 Compare August 27, 2024 22:12
@link2xt link2xt force-pushed the link2xt/parallel-connection-attempts branch from ea8c1ed to 42dc962 Compare August 28, 2024 00:07
@link2xt link2xt force-pushed the link2xt/no-reqwest branch from 7a0d5ed to cf1f0aa Compare August 28, 2024 00:08
@link2xt link2xt force-pushed the link2xt/no-reqwest branch from cf1f0aa to 8ab408a Compare August 28, 2024 00:09
@link2xt link2xt changed the title Replace reqwest with hyper Replace reqwest with hyper to parallelize HTTP connection attempts Aug 28, 2024
@link2xt link2xt marked this pull request as ready for review August 28, 2024 02:58
@link2xt link2xt force-pushed the link2xt/no-reqwest branch from d20ad40 to c9d3fc4 Compare August 28, 2024 03:10
@link2xt link2xt requested review from iequidoo and Hocuri August 28, 2024 12:04
@link2xt link2xt force-pushed the link2xt/no-reqwest branch 3 times, most recently from 8e4ba17 to 5d99fae Compare August 28, 2024 20:57
Base automatically changed from link2xt/parallel-connection-attempts to main August 28, 2024 22:00
@link2xt link2xt force-pushed the link2xt/no-reqwest branch 3 times, most recently from 94c1ccd to e129077 Compare August 28, 2024 22:50
@link2xt link2xt changed the base branch from main to link2xt/fix-delay-set August 28, 2024 22:50
@link2xt link2xt force-pushed the link2xt/fix-delay-set branch from 10d4c08 to fdc353d Compare August 29, 2024 00:14
@link2xt link2xt force-pushed the link2xt/no-reqwest branch from e129077 to 0e2f605 Compare August 29, 2024 00:14
Base automatically changed from link2xt/fix-delay-set to main August 29, 2024 13:24
@link2xt link2xt force-pushed the link2xt/no-reqwest branch from 0e2f605 to 75bc5af Compare August 29, 2024 13:25
src/net/http.rs Show resolved Hide resolved
src/net/http.rs Show resolved Hide resolved
src/net/http.rs Show resolved Hide resolved
@link2xt link2xt force-pushed the link2xt/no-reqwest branch 2 times, most recently from 699218c to f61b336 Compare August 29, 2024 21:41
@link2xt link2xt force-pushed the link2xt/no-reqwest branch from c711a05 to e8f7928 Compare August 29, 2024 22:28
This change replaces
usage of `reqwest` and `hyper-util`
with custom connection establishment code
so it is done in the same way
as for IMAP and SMTP connections.
This way we control HTTP, IMAP and SMTP
connection establishment
and schedule connection attempts
to resolved IP addresses
in the same way for all 3 protocols.
@link2xt link2xt force-pushed the link2xt/no-reqwest branch from e8f7928 to 877fe31 Compare August 29, 2024 22:28
@link2xt link2xt merged commit c7c3b9c into main Aug 29, 2024
37 checks passed
@link2xt link2xt deleted the link2xt/no-reqwest branch August 29, 2024 23:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants