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

Allow for fully async actors #74

Closed
wants to merge 12 commits into from

Conversation

@mrjoe7
Copy link

commented Aug 27, 2019

This is a proposal of changes needed for use of the futures friendly mutex and mpsc channel mentioned in #73.

Tests will not compile yet, because Actor trait was not updated to have async methods.

To make this work multiple api functions had to be changed to async. Also I have changed few traits to have async methods with the help of async-trait crate.

@leenozara are you ok with the use of the async-trait crate?

@mrjoe7 mrjoe7 changed the title WIP Use of async synchronisation to address #73 Use async synchronisation primitives Aug 27, 2019

@leenozara

This comment has been minimized.

Copy link
Contributor

commented Aug 29, 2019

Hi @mrjoe7, thanks, let me dig in and see the overall impact on the API.

@mrjoe7

This comment has been minimized.

Copy link
Author

commented Aug 30, 2019

@leenozara I have pushed final proposal how fully async system could look like. Please let me know what do you think.

@mrjoe7 mrjoe7 marked this pull request as ready for review Aug 30, 2019

@mrjoe7 mrjoe7 changed the title Use async synchronisation primitives Allow for fully async actors Aug 30, 2019

mrjoe7 added 2 commits Aug 30, 2019
@mrjoe7

This comment has been minimized.

Copy link
Author

commented Aug 30, 2019

I was looking at performance of the proposed async actors and noticed that tell and try_tell are now approximately 2-3x times slower. Not sure if I like that. Also release compilation takes like forever because compiler has to do lots of optimizations.

@mrjoe7 mrjoe7 closed this Sep 3, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.