summaryrefslogtreecommitdiff
path: root/src/actors/scala/actors/ActorCanReply.scala
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2015-04-21 14:49:58 +0200
committerLukas Rytz <lukas.rytz@gmail.com>2015-04-23 09:58:22 +0200
commit5b73e75943dd89dabda84b0fc3a651837c4a2113 (patch)
tree761bc0b25004c4edd7d89f500fac13b50d868406 /src/actors/scala/actors/ActorCanReply.scala
parent9cba434b228e33f62e01460abe186fb56038a70e (diff)
downloadscala-5b73e75943dd89dabda84b0fc3a651837c4a2113.tar.gz
scala-5b73e75943dd89dabda84b0fc3a651837c4a2113.tar.bz2
scala-5b73e75943dd89dabda84b0fc3a651837c4a2113.zip
Remove scala.actors and the actors migration module dependency
Diffstat (limited to 'src/actors/scala/actors/ActorCanReply.scala')
-rw-r--r--src/actors/scala/actors/ActorCanReply.scala66
1 files changed, 0 insertions, 66 deletions
diff --git a/src/actors/scala/actors/ActorCanReply.scala b/src/actors/scala/actors/ActorCanReply.scala
deleted file mode 100644
index 07191ec65c..0000000000
--- a/src/actors/scala/actors/ActorCanReply.scala
+++ /dev/null
@@ -1,66 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ Scala API **
-** / __/ __// _ | / / / _ | (c) 2005-2013, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
-** /____/\___/_/ |_/____/_/ | | **
-** |/ **
-\* */
-
-
-package scala.actors
-
-import scala.concurrent.SyncVar
-
-/**
- * Provides message send operations that
- * may result in a response from the receiver.
- *
- * @author Philipp Haller
- */
-private[actors] trait ActorCanReply extends ReactorCanReply {
- this: AbstractActor with InternalReplyReactor =>
-
- override def !?(msg: Any): Any = {
- val replyCh = new Channel[Any](Actor.self(scheduler))
- send(msg, replyCh)
- replyCh.?
- }
-
- override def !?(msec: Long, msg: Any): Option[Any] = {
- val replyCh = new Channel[Any](Actor.self(scheduler))
- send(msg, replyCh)
- replyCh.receiveWithin(msec) {
- case TIMEOUT => None
- case x => Some(x)
- }
- }
-
- override def !![A](msg: Any, handler: PartialFunction[Any, A]): Future[A] = {
- val c = new Channel[A](Actor.self(scheduler))
- val fun = (res: SyncVar[A]) => {
- val ftch = new Channel[A](Actor.self(scheduler))
- send(msg, new OutputChannel[Any] {
- def !(msg: Any) =
- ftch ! handler(msg)
- def send(msg: Any, replyTo: OutputChannel[Any]) =
- ftch.send(handler(msg), replyTo)
- def forward(msg: Any) =
- ftch.forward(handler(msg))
- def receiver =
- ftch.receiver
- })
- ftch.react {
- case any => res.set(any)
- }
- }
- val a = new FutureActor[A](fun, c)
- a.start()
- a
- }
-
- override def !!(msg: Any): Future[Any] = {
- val noTransform: PartialFunction[Any, Any] = { case x => x }
- this !! (msg, noTransform)
- }
-
-}