Составление черты поведения в Scala в методе получения Akka

Рассмотрим эти две черты:

trait Poked extends Actor {
  override def receive = {
    case Poke(port, x) => ReceivePoke(port, x)
  }

  def ReceivePoke(port: String, x: Any)
}

trait Peeked extends Actor {
  override def receive = {
    case Peek(port) => ReceivePeek(port)
  }

  def ReceivePeek(port: String)
}

Теперь подумайте, что я могу создать нового актера, который реализует обе черты:

val peekedpoked = actorRef(new Actor extends Poked with Peeked)

Как мне составить обработчики получения? то есть, получатель должен быть чем-то вроде следующего кода, хотя и «автоматически генерируется» (то есть все черты должны составлять):

def receive = (Poked.receive: Receive) orElse (Peeked.receive: Receive) orElse ...

Ответы на вопрос(2)

Ваш ответ на вопрос