2017-05-29 3 views
0

私はアクカの文脈に関して質問をする。私は次の俳優を持っています:アクカの俳優の文脈はメッセージと一緒になる

class MyActor extends Actor { 

    def active(state: State): Receive = { 
    case Dispatch(power) => // Dispatch to the specified power value 
     context.become(
     checkRamp(
      Observable.intervalAtFixedRate(cfg.rampRateInSeconds), 
      State.dispatch(state.copy(setPoint = power)) 
     ) 
    ) 
     self ! SomeMessage 
    } 

    def checkRamp(obs: Observable[Long], state: State): Receive = { 
    case SomeMessage => // do something 
    } 
} 

上記の作品はありますか?私は文脈を作った後、新しい文脈にメッセージを送ることができますか?この新しいメッセージは保存されていますか?もちろん、私はそれを試すことができますが、ただ知りたいと思っていました。これがうまくいかない場合、代替手段は何ですか?コンテキストを切り替えて、新しいコンテキストにメッセージを送信したい!

答えて

0

"私は新しいコンテキストにメッセージを送ることができますか?"ということを完全には理解できませんが、基本的には、アクターでコンテキストを切り替えると、メッセージを受信するとその動作が変わります。checkRamp元のreceiveではなく、メッセージを受け取ったときに呼び出されるメソッド。 それがあなたの質問に答えることができない場合は、「新しい文脈にメッセージを送る」ということをさらに詳しく説明できますか?

+0

私は、コンテキストを実行した後、次の行に送るメッセージがcheckRampメソッドで利用可能であることを意味しましたか? – sparkr

+0

はい、その通りです。 – DeusEx

関連する問題