Могу ли я использовать "отправитель" в коде Akka FSM?

class RulesFSMActor extends Actor with FSM[State, Data]{
  When(Rule1)
  {
    case Event(CASE_MSG1, Data) => 
      if (<someconditon>)
        goto(Rule2)
  }
  When(Rule2)
  {
    case Event(CASE_MSG2, Data) => 
    if (<someconditon>){
      sender ! MessgeBackToCaller"    // Is it allowed to use "sender" ?
      goto(Rule1)
  }
 }
//unhandled ,...etc
}

Предположим, что мое начальное состояние - "Rule1", и оно продолжает переключаться между состояниями. Если оно находится в "Rule1", оно переходит в "Rule2" и наоборот, основываясь на каком-то условии, что он должен отправить сообщение обратно в Caller(Sender).

Ценю твою помощь!

2 ответа

Да, конечно! FSM являются только расширением ("предметно-ориентированный язык") для определения субъектов, которые имеют несколько состояний.

Да, ты можешь. FSM - это обычные акторы, для которых реализовано получение, работающее с состояниями.

Другие вопросы по тегам