This is the exact use case we are dealing with. But even then I am
struggling to make use of the Behaviour type. To articulate my problem I
have created a small gist
<https://gist.github.com/mushtaq/0503eb907d13c8ec2598133bea07a64b>. It will
be great if someone could help me with:

1. How to improve Aggregator behaviour by making use of the 'Behaviour'
return type on 'onMessage'
2. Or, even better, how to translate the Aggregator behaviour into one or
more Actor.immutable behaviours without changing the protocol.

Thanks!


On Wed, Jul 19, 2017 at 3:43 PM, Patrik Nordwall <patrik.nordw...@gmail.com>
wrote:

> E.g. at startup the actor might be in initialization mode, e.g. waiting
> for reply from external service, and then changing behavior to active (with
> different state variables). You can even switch between mutable and
> immutable.
>
> In untyped actors this is supported with context.become
>
> /Patrik
> ons 19 juli 2017 kl. 06:11 skrev Mushtaq Ahmed <mushta...@gmail.com>:
>
>> I am not able to understand when to make use of it instead of always
>> returning 'this' outside the match block in MutableBehaviour. Sounds
>> redundant right now, but maybe I need to write a bit more code to see the
>> utility.
>>
>> On Wednesday, July 19, 2017 at 5:20:19 AM UTC+5:30, Konrad Malawski wrote:
>>
>>> Exactly the same.
>>> Becoming an different behavior.
>>>
>>
>>>
>>> On July 19, 2017 at 0:16:18, Mushtaq Ahmed (mush...@gmail.com) wrote:
>>>
>> Actor.immutable returning Behaviour[T] makes sense as it uses recursion
>>>> to return updated state or Actor.stopped etc.
>>>>
>>>> But in MutableBehavior, I end up using this pattern a lot.
>>>>
>>>> override def onMessage(msg: Msg): Behavior[Msg] = {
>>>>     msg match {
>>>>         case M1 => //unit returning action
>>>>         case M2 => //unit returning action
>>>>     }
>>>>     this
>>>> }
>>>>
>>>>
>>>> Which makes me wonder what use cases are helped by onMessage returning
>>>> Behaviour type (instead of Unit). Any thoughts?
>>>>
>>>> --
>>>> >>>>>>>>>> Read the docs: http://akka.io/docs/
>>>> >>>>>>>>>> Check the FAQ: http://doc.akka.io/docs/akka/
>>>> current/additional/faq.html
>>>> >>>>>>>>>> Search the archives: https://groups.google.com/
>>>> group/akka-user
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Akka User List" group.
>>>>
>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to akka-user+...@googlegroups.com.
>>>> To post to this group, send email to akka...@googlegroups.com.
>>>>
>>>
>>>> Visit this group at https://groups.google.com/group/akka-user.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
>> >>>>>>>>>> Read the docs: http://akka.io/docs/
>> >>>>>>>>>> Check the FAQ: http://doc.akka.io/docs/akka/
>> current/additional/faq.html
>> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Akka User List" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to akka-user+unsubscr...@googlegroups.com.
>> To post to this group, send email to akka-user@googlegroups.com.
>> Visit this group at https://groups.google.com/group/akka-user.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to