Skip to content

Conversation

@pitr-ch
Copy link
Member

@pitr-ch pitr-ch commented May 12, 2014

followup of #66

  • make sure all IVars are resolved when actor is shutdown before processing the message
  • merge actress into concurrent-ruby

@pitr-ch pitr-ch self-assigned this May 9, 2014
@pitr-ch
Copy link
Member Author

pitr-ch commented May 12, 2014

@jdantonio what would you think about renaming post, post! to tell (also aliased as <<), ask ?

@jdantonio
Copy link
Member

If I understand Akka correctly, the current behavior of post and post! are not the same as Akka's ask and tell. Our post returns an IVar which makes it analogous to Akka's ask. Our post! blocks so it isn't analogous to anything in Akka (it was based on the !? method of Scala's original Actor trait). And we don't have a method analogous to Akka's tell.

I don't have a strong preference between post and ask/tell. But I'd like to make sure we make the library as intuitive as possible for out users. Do you think it would cause confusion for our methods to share names with Akka's but not match their functionality?

@pitr-ch
Copy link
Member Author

pitr-ch commented May 12, 2014

Aha, sorry it got mismatched in my head, I forgot concurrent-ruby has different behavior. I have in Actress: tell fire-and-forget returning self (it can be chained) and ask which returns IVar. So I was thinking to go with that behavior. I do not have blocking method because that is equivalent to just ask.valueor ask.wait. I also think it's better not to support post! like behavior from the start, misusing can lead to deadlocks.

@jdantonio
Copy link
Member

Makes sense. I'm fine with the ask/tell behavior you suggest. I think that consistency with Akka is good. If an application really needs to block and wait for a message to be processed it can call ask and block on the value method of the returned IVar.

needs more work and discussions
@pitr-ch pitr-ch mentioned this pull request May 12, 2014
10 tasks
@pitr-ch
Copy link
Member Author

pitr-ch commented May 12, 2014

closing in favor of #73

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Adding features, adding tests, improving documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants