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

Reconsider futures-based interface #2

Closed
theduke opened this issue Jun 28, 2019 · 5 comments
Closed

Reconsider futures-based interface #2

theduke opened this issue Jun 28, 2019 · 5 comments

Comments

@theduke
Copy link
Contributor

theduke commented Jun 28, 2019

I really need to have a asynchronous interface to Arango.

reqwest already provides the reqwest::r#async::Client async client that can be used easily. It would need an additional refactor and major version bump when async/await hits stable, but that will only happen in late September.

Let me know if you'll accept a PR, otherwise I'll just roll my own.

@fMeow
Copy link
Owner

fMeow commented Jun 28, 2019

Yes, arangors is open to PR on async client, which are on the next milestone. So feel free to submit PR. We can have more disscussion on how to embed async support into arangors.

I prefer to use a generic client as a warpper for both async and sync client. And refactor all related operation with Trait to keep a consistent API between sync and async.

I am waiting for the async/await syntax in stable channel. I would like to stick to futures 0.3 ecosystem. So reqwest may not be a good choice if we want a fully async/await arango client for rust. But I'm not sure.

@thedodd
Copy link

thedodd commented Aug 5, 2019

@guoli-lyu looks like some interesting progress is being made on this front seanmonstar/reqwest#565

@fMeow
Copy link
Owner

fMeow commented Aug 6, 2019

Reqwest is making progress toward aysnc/await. I don't want arangors to be a nightly only crate, so I will starts working on this in another branch.

@fMeow
Copy link
Owner

fMeow commented Apr 23, 2020

Finally arangors supports async syntax in 0.3.0.

In 0.3.0, you can toggle between async or sync with correct feature gate. Also, you can choose any HTTP client backend.

@inzanez
Copy link
Contributor

inzanez commented Apr 24, 2020

@fMeow very nice, many thanks! I really appreciate the switch to 'thiserror' too!

@theduke theduke closed this as completed Apr 24, 2020
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

No branches or pull requests

4 participants