-
Notifications
You must be signed in to change notification settings - Fork 419
Adding features to Actors #132
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
Conversation
@Papipo message redirecting added, but it also contains core modularization into behaviors. Tests are passing but other than that I've did not test it much. |
Use global_task_executor to perform the task be default. Use immediate executor in configuration related Delays before global_task_executor is up an running.
add message redirecting
actor will get notified when linked actor fails
keep Actress around for compatibility
to able to easily override default reference class
This test suite is going to be the death of me... I've added the failing spec to my list in Issue #117. I will work on it this week. |
@jdantonio Thanks! I'll try to help when I finish with this PR. |
No sweat. The actor work you are doing is very important. I'm happy to handle the problematic specs so that you can stay focussed. |
Actor.spawn or AnActor.spawn should be used instead as it depends on global Actor.current. It's also more similar to Kernel.spawn.
if nothing is scheduled execute the message right away do not pass it to another scheduling block, saves context switching
`AnActor.spawn name: 'an', link: true` will be linked before any message is received.
removing Context module in favor of Context class
to be able to add custom code invocation on events like `:terminated`, `:resumed`, `anError`
allows to set handler: :reset!, :resume!, :terminate! and strategies: :one_for_one, :one_for_all
as :reset but it also drops all messages
replacing with messages :terminated?, :terminated_event, :terminate!
Hi Guys, I would like to merge this in one or two days. If you have a moment please review. I'll be on the Gitter if you have any questions. |
@pitr-ch I'm 100% on board with this PR. I've been following your conversations with @Papipo in Gitter and I'm extremely impressed with what you have done. The failed build in Travis is due to a problem Travis is having with Rbx for all builds, not just ours. I've added Rbx to the allowed failures list in our Travis config file. Please feel free to merge whenever you are ready. Afterward I will create another RC build and push it to Rubygems. If you have an opportunity, can you please add some detail to the changelog? I'd update it myself but I'm afraid I would miss important details. |
allows to tell messages to self
as a result of mesage processing :subscribe and :unsubscribe
@jdantonio thanks for you kind words. I've updated the changelog, please feel free to rephrase anything you would like to improve. |
I'll resolve the conflicts and merge shortly. |
* upstream/master: (13 commits) Temporarily adding Rbx to Travis allowed failure list due to problem with the Travis service. ... Conflicts: lib/concurrent/atomic/thread_local_var.rb
No description provided.