Skip to content

[request]: Provide a async API for different async runtime crates and also a sync API #506

@jmklix

Description

@jmklix

Discussed in #79

Originally posted by howard-quantrend May 12, 2021
Maybe the sdk could support both popular async runtimes, tokio and async-std using feature flags? In my case, our project only uses the async-std crate, so we need to rewrite the necessary parts of the Rusoto crate ourselves using async-std runtime. It will be great if the aws-sdk-rust supports both runtimes using feature flags, and even better if it provides a blocking sync API too, to support different kind of projects. Actually, this is what the MongoDB rust driver does. Thanks.

You can actually use async-std today by providing your own implementation of the HttpService trait.

If there's enough customer interest, we may consider providing first-class support, but it's worth noting that the workaround exists today. In the current SDK, you would still need to run a 1-threaded Tokio runtime to support retries (which have not yet been made runtime agnostic, although they are planned to be)

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature-requestA feature should be added or improved.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions