Dear Experts ,


Could you please help me with a right design choice for the following 
scenario.



*Use case * : 1000's of Network device   are controlled by a network  .



   - Network devices will join and leave the network by sending  *Join* and 
   *Leave* messages respectively to the network controller.

*Joining scenario*

   - When controller get a *Join* message from a network device , 
   - it will check whether an FSM actor exists for that network device by 
   calling getContext().getChild("networkdevice_IP").
   - "networkdevice_IP" is used to identify the actor.
   - if the child lookup  returns null  , a new FSMActor will be spawned 
   and join message is processed by the new FSMActor
   

*Leaving scenario*

   - Network device will send a *Leave* message  to the controller
   - controller will do getContext().getChild("networkdevice_IP") and get 
   the right FSMActor.
   - sends “*leave* message" to  this actor.
   - While processing Leave message , FSM actor will terminate itself by 
   calling stop() .
   

*Complication*

   - Now there is a possibility  that while the stop() is being processed 
   by FSMActor , a new Join may come from same network device 
   (networkdevice_IP).
   - Since stop() is asynchronous  getContext().getChild(network device) 
   will still return the FSMActor (networkdevice_IP) , but if we send message 
   to this actor , the message will go to DeadMessages.
   - 
   
*Design question .*

   - How to handle such scenario  using AKKA ? So that  we will not return 
   a stale Actor using getContext().getChild()
   - [one possiblity might be to leave this corner scenario and let the 
   network protocol to handle this  with retransmission .But if retransmission 
   is not there what to do ?]

With thanks and regards
Mahesh

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