summaryrefslogtreecommitdiff
path: root/src/actors/scala/actors/MessageQueue.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2009-12-15 14:23:33 +0000
committerPaul Phillips <paulp@improving.org>2009-12-15 14:23:33 +0000
commite59e58b003569be13033d84af38acc7ab6d69139 (patch)
tree5c01cdf4ac85d9a0bce6aa089dca06bb7009de52 /src/actors/scala/actors/MessageQueue.scala
parent8a89b68903d77b44471fa216561488efbf16bed7 (diff)
downloadscala-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.scala27
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