Skip to content

Allow client IO to be !Send #3363

Closed
@seanmonstar

Description

@seanmonstar

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 the T: Read + Write bounds for conn::http1::Connection
  • Provide a UpgradeableConnection in similar style to what is in server.
  • Update the single_threaded.rs example to use a !Send IO type for the client, to prove it works.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-clientArea: client.A-http1Area: HTTP/1 specific.B-breaking-changeBlocked: this is an "API breaking change".C-featureCategory: feature. This is adding a new feature.E-mediumEffort: medium. Some knowledge of how hyper internal works would be useful.

    Type

    No type

    Projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions