-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
A-clientArea: client.Area: client.A-http1Area: HTTP/1 specific.Area: HTTP/1 specific.B-breaking-changeBlocked: this is an "API breaking change".Blocked: this is an "API breaking change".C-featureCategory: feature. This is adding a new feature.Category: feature. This is adding a new feature.E-mediumEffort: medium. Some knowledge of how hyper internal works would be useful.Effort: medium. Some knowledge of how hyper internal works would be useful.
Milestone
Description
Just like server::conn::http1::Connection
can work with an IO type that isn't Send
, because it has a with_upgrades()
variant, we should make it so the client http1::Connection
type doesn't require Send
. This would be a breaking change, and so should happen before tagging 1.0.
I believe doing this is probably somewhat involved, let me lay out what I think needs to be done. If any step is unclear, or another way seems better, please comment :)
- Remove
Send
from theT: Read + Write
bounds forconn::http1::Connection
- Provide a
UpgradeableConnection
in similar style to what is inserver
. - Update the
single_threaded.rs
example to use a!Send
IO type for the client, to prove it works.
Xuanwo
Metadata
Metadata
Assignees
Labels
A-clientArea: client.Area: client.A-http1Area: HTTP/1 specific.Area: HTTP/1 specific.B-breaking-changeBlocked: this is an "API breaking change".Blocked: this is an "API breaking change".C-featureCategory: feature. This is adding a new feature.Category: feature. This is adding a new feature.E-mediumEffort: medium. Some knowledge of how hyper internal works would be useful.Effort: medium. Some knowledge of how hyper internal works would be useful.