diff options
author | Paul Phillips <paulp@improving.org> | 2009-12-15 14:23:33 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2009-12-15 14:23:33 +0000 |
commit | e59e58b003569be13033d84af38acc7ab6d69139 (patch) | |
tree | 5c01cdf4ac85d9a0bce6aa089dca06bb7009de52 /src/actors/scala/actors/MessageQueue.scala | |
parent | 8a89b68903d77b44471fa216561488efbf16bed7 (diff) | |
download | scala-e59e58b003569be13033d84af38acc7ab6d69139.tar.gz scala-e59e58b003569be13033d84af38acc7ab6d69139.tar.bz2 scala-e59e58b003569be13033d84af38acc7ab6d69139.zip |
Eliminating the deprecation warnings in the act...
Eliminating the deprecation warnings in the actor library.
Diffstat (limited to 'src/actors/scala/actors/MessageQueue.scala')
-rw-r--r-- | src/actors/scala/actors/MessageQueue.scala | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/actors/scala/actors/MessageQueue.scala b/src/actors/scala/actors/MessageQueue.scala index 7dea528c73..fd43e36fff 100644 --- a/src/actors/scala/actors/MessageQueue.scala +++ b/src/actors/scala/actors/MessageQueue.scala @@ -18,7 +18,12 @@ package scala.actors */ @serializable @SerialVersionUID(7124278808020037465L) @deprecated("this class is going to be removed in a future release") -class MessageQueueElement(val msg: Any, val session: OutputChannel[Any], var next: MessageQueueElement) { +class MessageQueueElement(msg: Any, session: OutputChannel[Any], next: MessageQueueElement) extends MQueueElement(msg, session, next) { + def this() = this(null, null, null) + def this(msg: Any, session: OutputChannel[Any]) = this(msg, session, null) +} + +private[actors] class MQueueElement(val msg: Any, val session: OutputChannel[Any], var next: MQueueElement) { def this() = this(null, null, null) def this(msg: Any, session: OutputChannel[Any]) = this(msg, session, null) } @@ -33,9 +38,11 @@ class MessageQueueElement(val msg: Any, val session: OutputChannel[Any], var nex */ @serializable @SerialVersionUID(2168935872884095767L) @deprecated("this class is going to be removed in a future release") -class MessageQueue(protected val label: String) { - protected var first: MessageQueueElement = null - protected var last: MessageQueueElement = null // last eq null iff list is empty +class MessageQueue(label: String) extends MQueue(label) + +private[actors] class MQueue(protected val label: String) { + protected var first: MQueueElement = null + protected var last: MQueueElement = null // last eq null iff list is empty private var _size = 0 def size = _size @@ -47,7 +54,7 @@ class MessageQueue(protected val label: String) { def append(msg: Any, session: OutputChannel[Any]) { changeSize(1) // size always increases by 1 - val el = new MessageQueueElement(msg, session) + val el = new MQueueElement(msg, session) if (isEmpty) first = el else last.next = el @@ -98,13 +105,13 @@ class MessageQueue(protected val label: String) { /** Extracts the first message that satisfies the predicate <code>p</code> * or <code>null</code> if <code>p</code> fails for all of them. */ - def extractFirst(p: (Any, OutputChannel[Any]) => Boolean): MessageQueueElement = + def extractFirst(p: (Any, OutputChannel[Any]) => Boolean): MQueueElement = removeInternal(0)(p) orNull - private def removeInternal(n: Int)(p: (Any, OutputChannel[Any]) => Boolean): Option[MessageQueueElement] = { + private def removeInternal(n: Int)(p: (Any, OutputChannel[Any]) => Boolean): Option[MQueueElement] = { var pos = 0 - def foundMsg(x: MessageQueueElement) = { + def foundMsg(x: MQueueElement) = { changeSize(-1) Some(x) } @@ -148,7 +155,7 @@ class MessageQueue(protected val label: String) { /** Debugging trait. */ -private[actors] trait MessageQueueTracer extends MessageQueue +private[actors] trait MessageQueueTracer extends MQueue { private val queueNumber = MessageQueueTracer.getQueueNumber @@ -166,7 +173,7 @@ private[actors] trait MessageQueueTracer extends MessageQueue printQueue("REMOVE %s" format res) res } - override def extractFirst(p: (Any, OutputChannel[Any]) => Boolean): MessageQueueElement = { + override def extractFirst(p: (Any, OutputChannel[Any]) => Boolean): MQueueElement = { val res = super.extractFirst(p) printQueue("EXTRACT_FIRST %s" format res) res |