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

Async Support #52

Open
KodrAus opened this issue Jan 29, 2016 · 3 comments
Open

Async Support #52

KodrAus opened this issue Jan 29, 2016 · 3 comments
Labels
enhancement Work on new features/enhancements

Comments

@KodrAus
Copy link

KodrAus commented Jan 29, 2016

It'd be good to use async methods for dealing with the HTTP streams; GetResponseStreamAsync over GetResponseStream for example. Unless you wanted to keep synchronous versions of the client calls for backwards compatibility it would be a lot of breaking changes.

This is something I'm happy to check out.

@KodrAus
Copy link
Author

KodrAus commented Jan 29, 2016

So I've started playing around with this and have at this stage just glossed over two main areas of concern:

  • Getters on the Lazy<ResourceMetadata> in Resource<TRow>
  • Methods that return iterators, like SodaClient.BatchUpsert<T>

The first I've kind of worked around, but the second will be difficult to make async but keep the iterator. I'm guessing the iterators are done this way to keep the memory footprint small on large batches? One way these kinds of methods can be made async is using something like Rx, but that's a significant dependency to pull in...

The BatchUpsert<T> is neat because of the break function. It's a cool use of iterators :)

@thekaveman
Copy link
Contributor

Wow, this is awesome. Asyc support is definitely something our team has kicked around, thank you for taking the initiative!

I won't be able to dig into this today, but please don't let that stop you - be in touch soon.

@KodrAus
Copy link
Author

KodrAus commented Jan 29, 2016

No problem :) right now all I've done is make things async, without much thought for whether or not the existing code could benefit from it more.

I'd love to get some thoughts from you who are familiar with the codebase and where docs need to be updated.

@thekaveman thekaveman added the enhancement Work on new features/enhancements label May 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Work on new features/enhancements
Projects
None yet
Development

No branches or pull requests

2 participants