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 #13

Closed
wants to merge 6 commits into from
Closed

async #13

wants to merge 6 commits into from

Conversation

jeremyandrews
Copy link
Member

I've rebased #8 onto latest master so we can continue this effort.

@jeremyandrews
Copy link
Member Author

I spent some time trying to wrap async in a feature flag, and trying to avoid too much code-duplication in the process. It just kept getting uglier, and didn't even work -- I'm abandoning the effort, just leaving it here for my future reference: #15

@@ -16,6 +16,7 @@ license = "Apache-2.0"
ctrlc = "3.1"
http = "0.2"
log = "0.4"
macro_rules_attribute = "*"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alsuren I'm hesitant to add this dependency. Perhaps instead we can implement this as a macro in goose_codegen, and generally add other macros in this dependency to improve goose ergonomics? (The code currently in there can be removed).

I don't like that it's a 0.0.1 release, that I don't see any other modules using it on crates.io, and that we have to invoke it before every load test function.

alsuren and others added 5 commits May 17, 2020 08:27
It's a bit of a shitshow because of lifetimes, and the
fact that async functions can't be used as function
pointers (because the return value is not sized
predictably in a dynamic context).

This thread was really hepful to me:
https://users.rust-lang.org/t/how-to-store-async-function-pointer/38343/4

All that's left to do is:
* Fix the doctests
* Actually try out the examples and see if they are
  still working/performant.
* Go hunting for places where explicit threads are used
  which could be turned into tasks.
@jeremyandrews
Copy link
Member Author

@alsuren I'm working in yet-another-branch (created as I wasn't sure this was going to work), and seeing some good progress. I've been able to remove the macro_rules_attribute macro which I wanted to do, though currently ergonomics are worse not better. If you have time/interest, please see:
#22

@jeremyandrews
Copy link
Member Author

Closing in favor of #22

@jeremyandrews jeremyandrews deleted the async branch May 25, 2020 06:34
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

Successfully merging this pull request may close these issues.

None yet

2 participants