2014-06-04 20:51:12 +02:00
|
|
|
/**
|
2016-02-23 12:58:39 +01:00
|
|
|
* Copyright (C) 2009-2016 Lightbend Inc. <http://www.lightbend.com>
|
2014-06-04 20:51:12 +02:00
|
|
|
*/
|
|
|
|
|
package akka.testkit
|
|
|
|
|
|
2015-03-24 18:39:43 +02:00
|
|
|
import akka.actor.{ Props, Actor, ActorRef }
|
2014-06-04 20:51:12 +02:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A collection of common actor patterns used in tests.
|
|
|
|
|
*/
|
|
|
|
|
object TestActors {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* EchoActor sends back received messages (unmodified).
|
|
|
|
|
*/
|
|
|
|
|
class EchoActor extends Actor {
|
|
|
|
|
override def receive = {
|
|
|
|
|
case message ⇒ sender() ! message
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2015-03-24 18:39:43 +02:00
|
|
|
/**
|
|
|
|
|
* ForwardActor forwards all messages as-is to specified ActorRef.
|
|
|
|
|
*
|
|
|
|
|
* @param ref target ActorRef to forward messages to
|
|
|
|
|
*/
|
|
|
|
|
class ForwardActor(ref: ActorRef) extends Actor {
|
|
|
|
|
override def receive = {
|
|
|
|
|
case message ⇒ ref forward message
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2014-06-04 20:51:12 +02:00
|
|
|
val echoActorProps = Props[EchoActor]()
|
2015-03-24 18:39:43 +02:00
|
|
|
def forwardActorProps(ref: ActorRef) = Props(classOf[ForwardActor], ref)
|
2014-06-04 20:51:12 +02:00
|
|
|
|
|
|
|
|
}
|