diff options
author | michelou <michelou@epfl.ch> | 2006-06-23 11:44:31 +0000 |
---|---|---|
committer | michelou <michelou@epfl.ch> | 2006-06-23 11:44:31 +0000 |
commit | 777381a3056a3018f44a0103a498fd910bb48763 (patch) | |
tree | c5f15bbd436a579cdfad2791f9ccbfbd6af3bdc5 /src/actors | |
parent | 4642751e0eb113aadc28544db85ca69b9c0c1606 (diff) | |
download | scala-777381a3056a3018f44a0103a498fd910bb48763.tar.gz scala-777381a3056a3018f44a0103a498fd910bb48763.tar.bz2 scala-777381a3056a3018f44a0103a498fd910bb48763.zip |
added svn:keywords and file header to files in ...
added svn:keywords and file header to files in src/actors/
Diffstat (limited to 'src/actors')
33 files changed, 611 insertions, 252 deletions
diff --git a/src/actors/scala/actors/Debug.scala b/src/actors/scala/actors/Debug.scala index 1b1e3f0705..81e1152597 100644 --- a/src/actors/scala/actors/Debug.scala +++ b/src/actors/scala/actors/Debug.scala @@ -1,4 +1,14 @@ -package scala.actors; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + +package scala.actors /** * @author Philipp Haller diff --git a/src/actors/scala/actors/Done.scala b/src/actors/scala/actors/Done.scala index 5bef8d89d8..e0ef9ba057 100644 --- a/src/actors/scala/actors/Done.scala +++ b/src/actors/scala/actors/Done.scala @@ -1,4 +1,14 @@ -package scala.actors; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + +package scala.actors /** * @author Philipp Haller diff --git a/src/actors/scala/actors/SPanel.scala b/src/actors/scala/actors/SPanel.scala index 7f3b3a7a1b..b785907722 100644 --- a/src/actors/scala/actors/SPanel.scala +++ b/src/actors/scala/actors/SPanel.scala @@ -1,29 +1,37 @@ -package scala.actors; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ +// $Id$ + +package scala.actors + +import java.awt._ +import java.awt.event._ +import javax.swing.event._ +import javax.swing._ +import java.io._ /* * SPanel.scala * GUI for simple texts * + * @author Sebastien Noir */ -import java.awt._; -import java.awt.event._; -import javax.swing.event._; -import javax.swing._; -import java.io._; - +class SPanel(WIDTH: Int, HEIGHT: Int, title: String) extends JFrame { + private var textArea:JTextArea = null + private var resetButton:JButton = null -class SPanel (WIDTH:int, HEIGHT:int, title:String) extends JFrame{ - - private var textArea:JTextArea = null; - private var resetButton:JButton = null; - - private var scrollPane:JScrollPane = null; - private var panel:JPanel = null; - private var contentPane:Container = null; - private var levelChoice:JComboBox = null; - private var formatChoice:JComboBox = null; + private var scrollPane:JScrollPane = null + private var panel:JPanel = null + private var contentPane:Container = null + private var levelChoice:JComboBox = null + private var formatChoice:JComboBox = null //init setTitle(title); @@ -50,11 +58,10 @@ class SPanel (WIDTH:int, HEIGHT:int, title:String) extends JFrame{ } ); - this.repaint(); - this.show(); - + this.repaint() + this.show() - def addText(text:String):Unit = { + def addText(text: String): Unit = { textArea.append(text+'\n'); if ( textArea.getHeight() > scrollPane.getHeight() ) { @@ -63,12 +70,11 @@ class SPanel (WIDTH:int, HEIGHT:int, title:String) extends JFrame{ repaint(); } /* - def actionPerformed(ActionEvent e):Unit { + def actionPerformed(ActionEvent e):Unit { } */ - override def paint(g:Graphics ): unit = { - super.paint( g ); - } + override def paint(g: Graphics): Unit = + super.paint(g) } diff --git a/src/actors/scala/actors/Scheduler.scala b/src/actors/scala/actors/Scheduler.scala index 7caaa1b35c..2133995720 100644 --- a/src/actors/scala/actors/Scheduler.scala +++ b/src/actors/scala/actors/Scheduler.scala @@ -1,3 +1,13 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + package scala.actors import scala.collection.mutable._ @@ -8,13 +18,13 @@ import scala.actors.multi._ * @author Philipp Haller */ abstract class IScheduler /*extends java.util.concurrent.Executor*/ { - def execute(item: ReceiverTask): unit; - def getTask(worker: WorkerThread): Runnable; - def tick(a: MailBox): unit; + def execute(item: ReceiverTask): Unit + def getTask(worker: WorkerThread): Runnable + def tick(a: MailBox): Unit val QUIT_TASK = new Runnable() { - def run(): unit = {}; - override def toString() = "QUIT_TASK"; + def run(): Unit = {} + override def toString() = "QUIT_TASK" } } diff --git a/src/actors/scala/actors/TimerThread.scala b/src/actors/scala/actors/TimerThread.scala index a483d7b043..075d14fe57 100644 --- a/src/actors/scala/actors/TimerThread.scala +++ b/src/actors/scala/actors/TimerThread.scala @@ -1,16 +1,28 @@ -/** - @author Sebastien Noir +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ - This class allows the (locl) sending of a message to an actor after a timeout. Used by the library to build receiveWithin(time:long). Note that the library deletes non received TIMEOUT() message if a messsage is received before the time-out occurs. - */ +// $Id$ - package scala.actors +package scala.actors import scala.collection.mutable.PriorityQueue import scala.actors.multi.Actor import scala.actors.multi.MailBox +/** + * This class allows the (locl) sending of a message to an actor after + * a timeout. Used by the library to build receiveWithin(time:long). + * Note that the library deletes non received TIMEOUT() message if a + * messsage is received before the time-out occurs. + * + * @author Sebastien Noir + */ case class Signal() object TimerThread extends AnyRef with Runnable { diff --git a/src/actors/scala/actors/WorkerThread.scala b/src/actors/scala/actors/WorkerThread.scala index ab2ffbeb32..e46cdc53c9 100644 --- a/src/actors/scala/actors/WorkerThread.scala +++ b/src/actors/scala/actors/WorkerThread.scala @@ -1,4 +1,14 @@ -package scala.actors; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + +package scala.actors /** * @author Philipp Haller @@ -18,7 +28,7 @@ class WorkerThread(sched: IScheduler) extends Thread { notify() } - override def run(): unit = synchronized { + override def run(): Unit = synchronized { while (running) { if (task != null) { task.run() diff --git a/src/actors/scala/actors/distributed/JXTAServiceBase.scala b/src/actors/scala/actors/distributed/JXTAServiceBase.scala index b3e2603974..46c3ae7743 100644 --- a/src/actors/scala/actors/distributed/JXTAServiceBase.scala +++ b/src/actors/scala/actors/distributed/JXTAServiceBase.scala @@ -1,9 +1,22 @@ -package scala.actors.distributed; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ +// $Id$ + +package scala.actors.distributed + +/** + * @author Philipp Haller + */ abstract class JXTAServiceBase(nodename: String) extends Thread with Service { - val serializer = new JavaSerializer(this); - private val internalNode = new JXTANode(nodename); - def node: Node = internalNode; + val serializer = new JavaSerializer(this) + private val internalNode = new JXTANode(nodename) + def node: Node = internalNode def createPid(actor: RemoteActor): RemotePid = new JXTAPid(internalNode, makeUid, kernel, actor) } diff --git a/src/actors/scala/actors/distributed/JavaSerializer.scala b/src/actors/scala/actors/distributed/JavaSerializer.scala index b25437ff86..e9eb4b2dee 100644 --- a/src/actors/scala/actors/distributed/JavaSerializer.scala +++ b/src/actors/scala/actors/distributed/JavaSerializer.scala @@ -1,21 +1,30 @@ -package scala.actors.distributed; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ -import java.io._; -import scala.collection.mutable._; +// $Id$ -import scala.actors.distributed.picklers.BytePickle.SPU; -import scala.actors.distributed.picklers._; -import scala.actors.multi._; +package scala.actors.distributed + +import java.io._ +import scala.collection.mutable._ + +import scala.actors.distributed.picklers.BytePickle.SPU +import scala.actors.distributed.picklers._ +import scala.actors.multi._ [serializable] class JavaSerializer(serv: Service) extends Serializer(serv) { - val debug = true; + val debug = true - def log (s:String) = { - if (debug) Console.println("JAVASerializer: "+s) - } + def log (s: String) = + if (debug) Console.println("JAVASerializer: " + s) - def serialize(o: AnyRef): Array[byte] = { + def serialize(o: AnyRef): Array[Byte] = { val bos = new ByteArrayOutputStream() val out = new ObjectOutputStream(bos) out.writeObject(o) @@ -24,11 +33,11 @@ class JavaSerializer(serv: Service) extends Serializer(serv) { } def deserialize(bytes: Array[byte]): AnyRef = { - val bis = new ByteArrayInputStream(bytes); - val in = new ObjectInputStream(bis); - in.readObject(); + val bis = new ByteArrayInputStream(bytes) + val in = new ObjectInputStream(bis) + in.readObject() } - def pid: SPU[Pid] = null; - def addRep(name: String, repCons: Serializer => AnyRef): unit = {}; + def pid: SPU[Pid] = null + def addRep(name: String, repCons: Serializer => AnyRef): Unit = {} } diff --git a/src/actors/scala/actors/distributed/MessagesComb.scala b/src/actors/scala/actors/distributed/MessagesComb.scala index af3edc13a2..31fe01ebc7 100644 --- a/src/actors/scala/actors/distributed/MessagesComb.scala +++ b/src/actors/scala/actors/distributed/MessagesComb.scala @@ -1,8 +1,21 @@ -package scala.actors.distributed; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ -import scala.actors.distributed.picklers.BytePickle._; -import scala.actors.multi.Pid; +// $Id$ +package scala.actors.distributed + +import scala.actors.distributed.picklers.BytePickle._ +import scala.actors.multi.Pid + +/** + * @author Philipp Haller + */ object MessagesComb { def sendPU(ser: Serializer): SPU[Send] = wrap((p: Pair[Pid,Array[byte]]) => Send(p._1, p._2), diff --git a/src/actors/scala/actors/distributed/Name.scala b/src/actors/scala/actors/distributed/Name.scala index 02842f1501..c1a5df11fe 100644 --- a/src/actors/scala/actors/distributed/Name.scala +++ b/src/actors/scala/actors/distributed/Name.scala @@ -1,4 +1,14 @@ -package scala.actors.distributed; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + +package scala.actors.distributed case class Name(node: Node, sym: Symbol, kernel: NetKernel) { def !(msg: AnyRef): unit = { diff --git a/src/actors/scala/actors/distributed/NetKernel.scala b/src/actors/scala/actors/distributed/NetKernel.scala index 28821350d6..f1439d5b7b 100644 --- a/src/actors/scala/actors/distributed/NetKernel.scala +++ b/src/actors/scala/actors/distributed/NetKernel.scala @@ -1,3 +1,13 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + package scala.actors.distributed import java.io.StringReader @@ -14,12 +24,15 @@ import java.lang.SecurityException import scala.actors.multi.Actor import scala.actors.multi.ExcHandlerDesc -case class RA(a: RemoteActor); +case class RA(a: RemoteActor) object NetKernel { - var kernel: NetKernel = null; + var kernel: NetKernel = null } +/** + * @author Philipp Haller + */ class NetKernel(service: Service) { NetKernel.kernel = this @@ -80,9 +93,9 @@ class NetKernel(service: Service) { def addConstructor(key: String, value: () => RemoteActor) = ptable.update(key, value); - def node: Node = service.node; + def node: Node = service.node - def nodes: List[Node] = service.nodes; + def nodes: List[Node] = service.nodes def pidOf(actor: RemoteActor): RemotePid = synchronized { pidTable.get(actor) match { diff --git a/src/actors/scala/actors/distributed/Node.scala b/src/actors/scala/actors/distributed/Node.scala index f407bdfd21..474ac464d3 100644 --- a/src/actors/scala/actors/distributed/Node.scala +++ b/src/actors/scala/actors/distributed/Node.scala @@ -1,6 +1,16 @@ -package scala.actors.distributed; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ -[serializable] abstract class Node; +// $Id$ -[serializable] case class TcpNode(address: String, port: int) extends Node; -[serializable] case class JXTANode(name: String) extends Node; +package scala.actors.distributed + +[serializable] abstract class Node + +[serializable] case class TcpNode(address: String, port: Int) extends Node +[serializable] case class JXTANode(name: String) extends Node diff --git a/src/actors/scala/actors/distributed/NodeComb.scala b/src/actors/scala/actors/distributed/NodeComb.scala index c18540c6f9..b3a0c44bc7 100644 --- a/src/actors/scala/actors/distributed/NodeComb.scala +++ b/src/actors/scala/actors/distributed/NodeComb.scala @@ -1,7 +1,20 @@ -package scala.actors.distributed; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ -import scala.actors.distributed.picklers.BytePickle._; +// $Id$ +package scala.actors.distributed + +import scala.actors.distributed.picklers.BytePickle._ + +/** + * @author Philipp Haller + */ object NodeComb { def tcpNodePU: SPU[TcpNode] = wrap((p: Pair[String,int]) => TcpNode(p._1, p._2), diff --git a/src/actors/scala/actors/distributed/RemoteActor.scala b/src/actors/scala/actors/distributed/RemoteActor.scala index ef3f98db70..5ee8904e66 100644 --- a/src/actors/scala/actors/distributed/RemoteActor.scala +++ b/src/actors/scala/actors/distributed/RemoteActor.scala @@ -1,3 +1,13 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + package scala.actors.distributed import scala.actors.multi.MailBox @@ -6,13 +16,15 @@ import scala.actors.multi.Pid import scala.actors.multi.LocalPid import scala.actors.multi.ExcHandlerDesc -import scala.collection.mutable.HashMap -import scala.collection.mutable.Stack +import scala.collection.mutable.{HashMap,Stack} abstract class ServiceName case class JXTA(groupName: String) extends ServiceName case class TCP() extends ServiceName +/** + * @author Philipp Haller + */ class RemoteActor extends Actor { override def forwardExc(destDesc: ExcHandlerDesc, e: Throwable) = { // locality check (handler local to this actor?) @@ -129,40 +141,39 @@ class RemoteActor extends Actor { } def spawnLink(fun: RemoteActor => unit): RemotePid = - kernel.spawnLink(self, fun); + kernel.spawnLink(self, fun) def monitorNode(node: Node, cond: boolean) = - kernel.monitorNode(self, node, cond); + kernel.monitorNode(self, node, cond) // this should be: // self.link(pid) // if self is RemotePid it will invoke NetKernel def link(pid: RemotePid): unit = - kernel.link(self, pid); + kernel.link(self, pid) def unlink(pid: RemotePid): unit = - kernel.unlink(self, pid); + kernel.unlink(self, pid) override def exit(reason: Symbol): unit = - kernel.exit(self, reason); + kernel.exit(self, reason) override def processFlag(flag: Symbol, set: boolean) = - kernel.processFlag(self, flag, set); + kernel.processFlag(self, flag, set) - override def die(reason: Symbol) = { + override def die(reason: Symbol) = if (isAlive) { isAlive = false Debug.info("" + this + " died.") kernel.exit(self, reason) } - } - override def die() = { + override def die() = if (isAlive) { isAlive = false Debug.info("" + this + " died.") kernel.exit(self, 'normal) } - } + } diff --git a/src/actors/scala/actors/distributed/RemotePid.scala b/src/actors/scala/actors/distributed/RemotePid.scala index bb70e3f4a5..4de3c7c5b1 100644 --- a/src/actors/scala/actors/distributed/RemotePid.scala +++ b/src/actors/scala/actors/distributed/RemotePid.scala @@ -1,3 +1,13 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + package scala.actors.distributed import scala.actors.multi.Pid @@ -6,6 +16,9 @@ import scala.actors.multi.ExcHandlerDesc import java.io._ +/** + * @author Philipp Haller + */ [serializable] abstract class RemotePid(locId: int, kern: NetKernel, actor: RemoteActor) extends Pid { def this() = this(0, null, null) // for serialization diff --git a/src/actors/scala/actors/distributed/Serializer.scala b/src/actors/scala/actors/distributed/Serializer.scala index 868d996131..65071571e0 100644 --- a/src/actors/scala/actors/distributed/Serializer.scala +++ b/src/actors/scala/actors/distributed/Serializer.scala @@ -1,53 +1,65 @@ -package scala.actors.distributed; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.EOFException; +// $Id$ -import scala.actors.distributed.picklers.BytePickle.SPU; -import scala.actors.multi.Pid; +package scala.actors.distributed +import java.io.DataInputStream +import java.io.DataOutputStream +import java.io.EOFException + +import scala.actors.distributed.picklers.BytePickle.SPU +import scala.actors.multi.Pid + +/** + * @author Philipp Haller + */ abstract class Serializer(s: Service) { - def serialize(o: AnyRef/*, w: Writer*/): Array[byte]; - def deserialize(a: Array[byte]/*r: Reader*/): AnyRef; + def serialize(o: AnyRef/*, w: Writer*/): Array[byte] + def deserialize(a: Array[byte]/*r: Reader*/): AnyRef // throws IOException def readBytes(inputStream: DataInputStream): Array[byte] = { try { - val length = inputStream.readInt(); - val bytes = new Array[byte](length); - inputStream.readFully(bytes, 0, length); - return bytes; + val length = inputStream.readInt() + val bytes = new Array[byte](length) + inputStream.readFully(bytes, 0, length) + return bytes } catch { - case npe: NullPointerException => { - throw new EOFException("Connection closed."); - } + case npe: NullPointerException => + throw new EOFException("Connection closed.") } } // throws IOException, ClassNotFoundException def readObject(inputStream: DataInputStream): AnyRef = { - val bytes = readBytes(inputStream); - deserialize(bytes); + val bytes = readBytes(inputStream) + deserialize(bytes) } // throws IOException def writeBytes(outputStream: DataOutputStream, bytes: Array[byte]): unit = { val length = bytes.length; // original length - outputStream.writeInt(length); - outputStream.write(bytes, 0, length); - outputStream.flush(); + outputStream.writeInt(length) + outputStream.write(bytes, 0, length) + outputStream.flush() } // throws IOException def writeObject(outputStream: DataOutputStream, obj: AnyRef) = { - val bytes = serialize(obj); - writeBytes(outputStream, bytes); + val bytes = serialize(obj) + writeBytes(outputStream, bytes) } - def pid: SPU[Pid]; - def service = s; - def addRep(name: String, repCons: Serializer => AnyRef): unit; + def pid: SPU[Pid] + def service = s + def addRep(name: String, repCons: Serializer => AnyRef): unit } diff --git a/src/actors/scala/actors/distributed/Service.scala b/src/actors/scala/actors/distributed/Service.scala index 23a09a09c3..f5164751b3 100644 --- a/src/actors/scala/actors/distributed/Service.scala +++ b/src/actors/scala/actors/distributed/Service.scala @@ -1,33 +1,46 @@ -package scala.actors.distributed; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ -import java.io.StringWriter; +// $Id$ +package scala.actors.distributed + +import java.io.StringWriter + +/** + * @author Philipp Haller + */ trait Service { - val serializer: Serializer; - def node: Node; - def createPid(actor: RemoteActor): RemotePid; - def send(node: Node, data: Array[byte]): unit; - def connect(node: Node): unit; // non blocking. - def disconnectNode(node: Node): unit; - def isConnected(node: Node): boolean; + val serializer: Serializer + def node: Node + def createPid(actor: RemoteActor): RemotePid + def send(node: Node, data: Array[byte]): Unit + def connect(node: Node): Unit // non blocking. + def disconnectNode(node: Node): Unit + def isConnected(node: Node): Boolean //blocking. timeout depends on Implementation. - def isReachable(node: Node): boolean; + def isReachable(node: Node): Boolean - def getRoundTripTimeMillis(node:Node): long; //blocking + def getRoundTripTimeMillis(node: Node): Long //blocking def nodes:List[Node] // implemented parts: - private val kern = new NetKernel(this); - def kernel = kern; + private val kern = new NetKernel(this) + def kernel = kern def spawn(name: String): RemotePid = - kern spawn name; + kern spawn name def spawn(name: String, arg: RemotePid): RemotePid = - kern.spawn(name, arg); + kern.spawn(name, arg) //suggested addition by seb @@ -64,9 +77,7 @@ trait Service { send(pid.node, bytes2) } - private var idCnt = 0; + private var idCnt = 0 def makeUid = { idCnt = idCnt + 1; idCnt } - - } diff --git a/src/actors/scala/actors/distributed/SystemMessage.scala b/src/actors/scala/actors/distributed/SystemMessage.scala index d8a663922a..f2a18f29b3 100644 --- a/src/actors/scala/actors/distributed/SystemMessage.scala +++ b/src/actors/scala/actors/distributed/SystemMessage.scala @@ -1,30 +1,40 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + package scala.actors.distributed import scala.actors.multi.Pid import scala.actors.multi.ExcHandlerDesc abstract class MessageTyper { - type DataType=Array[byte]; + type DataType = Array[Byte] } -abstract class SystemMessage; -case class Send(rec: Pid, data: MessageTyper#DataType) extends SystemMessage; -case class Spawn(replyto: Pid, p: String) extends SystemMessage; -case class PidReply(res: Pid) extends SystemMessage; -case class Disconnect() extends SystemMessage; +abstract class SystemMessage +case class Send(rec: Pid, data: MessageTyper#DataType) extends SystemMessage +case class Spawn(replyto: Pid, p: String) extends SystemMessage +case class PidReply(res: Pid) extends SystemMessage +case class Disconnect() extends SystemMessage -case class NodeDown() extends SystemMessage; +case class NodeDown() extends SystemMessage -// ACHTUNG: Tells "from" to create a _uni-directional_ link! -case class Link(from: Pid, to: Pid) extends SystemMessage; -case class UnLink(from: Pid, to: Pid) extends SystemMessage; -case class Exit1(from: Pid, to: Pid, reason: Symbol) extends SystemMessage; +// CAUTION: Tells "from" to create a _uni-directional_ link! +case class Link(from: Pid, to: Pid) extends SystemMessage +case class UnLink(from: Pid, to: Pid) extends SystemMessage +case class Exit1(from: Pid, to: Pid, reason: Symbol) extends SystemMessage -case class SpawnObject(replyto: Pid, data: MessageTyper#DataType) extends SystemMessage; +case class SpawnObject(replyto: Pid, data: MessageTyper#DataType) extends SystemMessage -case class NamedSend(sym: Symbol, data: MessageTyper#DataType) extends SystemMessage; +case class NamedSend(sym: Symbol, data: MessageTyper#DataType) extends SystemMessage -case class ForwardExc(destDesc: ExcHandlerDesc, e: Throwable) extends SystemMessage; +case class ForwardExc(destDesc: ExcHandlerDesc, e: Throwable) extends SystemMessage /* case class NamedSendRep (ser:Serializer) extends TypeRep[NamedSend](ser) { diff --git a/src/actors/scala/actors/distributed/TcpSerializerComb.scala b/src/actors/scala/actors/distributed/TcpSerializerComb.scala index 9d806c8c9c..fd0313dcc9 100644 --- a/src/actors/scala/actors/distributed/TcpSerializerComb.scala +++ b/src/actors/scala/actors/distributed/TcpSerializerComb.scala @@ -1,16 +1,29 @@ -package scala.actors.distributed; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ -import java.io._; -import scala.collection.mutable._; +// $Id$ -import scala.actors.distributed.picklers.BytePickle._; +package scala.actors.distributed -import scala.actors.distributed.MessagesComb._; -import scala.actors.distributed.NodeComb._; -import scala.actors.multi._; +import java.io._ +import scala.collection.mutable._ -//import scala.actors.distributed.examples.CounterMessagesComb._; +import scala.actors.distributed.picklers.BytePickle._ +import scala.actors.distributed.MessagesComb._ +import scala.actors.distributed.NodeComb._ +import scala.actors.multi._ + +//import scala.actors.distributed.examples.CounterMessagesComb._ + +/** + * @author Philipp Haller + */ //TODO: change Service to NetKernel in Serializer interface class TcpSerializerComb(serv: Service) extends Serializer(serv) { diff --git a/src/actors/scala/actors/distributed/TcpService.scala b/src/actors/scala/actors/distributed/TcpService.scala index d714eba314..6d2c5dfa19 100644 --- a/src/actors/scala/actors/distributed/TcpService.scala +++ b/src/actors/scala/actors/distributed/TcpService.scala @@ -1,10 +1,23 @@ -package scala.actors.distributed; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ -import java.net._; -import java.io._; +// $Id$ -import java.util.logging._; +package scala.actors.distributed +import java.net._ +import java.io._ + +import java.util.logging._ + +/** + * @author Philipp Haller + */ object TcpService { val random = new java.util.Random(0) @@ -35,11 +48,14 @@ object TestPorts { } } -class TcpService(port: int) extends Thread with Service { - val serializer: JavaSerializer = new JavaSerializer(this); +/** + * @author Philipp Haller + */ +class TcpService(port: Int) extends Thread with Service { + val serializer: JavaSerializer = new JavaSerializer(this) private val internalNode = new TcpNode(InetAddress.getLocalHost().getHostAddress(), port); - def node: TcpNode = internalNode; + def node: TcpNode = internalNode def createPid(actor: RemoteActor): RemotePid = new TcpPid(internalNode, makeUid, kernel, actor) @@ -97,10 +113,10 @@ class TcpService(port: int) extends Thread with Service { } } catch { - case ioe:IOException => { + case ioe: IOException => { // do nothing } - case sec:SecurityException => { + case sec: SecurityException => { // do nothing } } diff --git a/src/actors/scala/actors/distributed/TcpServiceWorker.scala b/src/actors/scala/actors/distributed/TcpServiceWorker.scala index 4346b09d61..64bc73059e 100644 --- a/src/actors/scala/actors/distributed/TcpServiceWorker.scala +++ b/src/actors/scala/actors/distributed/TcpServiceWorker.scala @@ -1,24 +1,37 @@ -package scala.actors.distributed; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ -import java.net._; -import java.io._; +// $Id$ +package scala.actors.distributed + +import java.net._ +import java.io._ + +/** + * @author Philipp Haller + */ class TcpServiceWorker(parent: TcpService, so: Socket) extends Thread { - val in = so.getInputStream(); - val out = so.getOutputStream(); + val in = so.getInputStream() + val out = so.getOutputStream() - val datain = new DataInputStream(in); - val dataout = new DataOutputStream(out); + val datain = new DataInputStream(in) + val dataout = new DataOutputStream(out) - val reader = new BufferedReader(new InputStreamReader(in)); - val writer = new PrintWriter(new OutputStreamWriter(out)); + val reader = new BufferedReader(new InputStreamReader(in)) + val writer = new PrintWriter(new OutputStreamWriter(out)) val log = new Debug("TcpServiceWorker") log.level = 2 def transmit(msg: Send): unit = synchronized { - val data = parent.serializer.serialize(msg); - transmit(data); + val data = parent.serializer.serialize(msg) + transmit(data) } def transmit(data: String): unit = synchronized { @@ -29,39 +42,39 @@ class TcpServiceWorker(parent: TcpService, so: Socket) extends Thread { def transmit(data: Array[byte]): unit = synchronized { log.info("Transmitting " + data) - dataout.writeInt(data.length); + dataout.writeInt(data.length) dataout.write(data) dataout.flush() } def sendNode = { - Console.println("Sending our name " + parent.node); - parent.serializer.writeObject(dataout, parent.node); + Console.println("Sending our name " + parent.node) + parent.serializer.writeObject(dataout, parent.node) } - var connectedNode: TcpNode = _; + var connectedNode: TcpNode = _ def readNode = { - Console.println("" + parent.node + ": Reading node name..."); - //val node = parent.serializer.deserialize(reader); - val node = parent.serializer.readObject(datain); - Console.println("Connection from " + node); + Console.println("" + parent.node + ": Reading node name...") + //val node = parent.serializer.deserialize(reader) + val node = parent.serializer.readObject(datain) + Console.println("Connection from " + node) node match { case n: TcpNode => { connectedNode = n - Console.println("Adding connection to " + node + " to table."); + Console.println("Adding connection to " + node + " to table.") parent.addConnection(n, this) } } } - var running = true; + var running = true def halt = synchronized { - so.close(); // close socket - running = false; // stop + so.close() // close socket + running = false // stop } - override def run(): unit = { + override def run(): Unit = { try { while (running) { if (in.available() > 0) { @@ -74,10 +87,10 @@ class TcpServiceWorker(parent: TcpService, so: Socket) extends Thread { } } catch { - case ioe:IOException => + case ioe: IOException => Console.println("" + ioe + " while reading from socket."); parent nodeDown connectedNode - case e:Exception => + case e: Exception => // catch-all Console.println("" + e + " while reading from socket."); parent nodeDown connectedNode diff --git a/src/actors/scala/actors/distributed/Util.scala b/src/actors/scala/actors/distributed/Util.scala index a54e455edf..82f29d0c19 100644 --- a/src/actors/scala/actors/distributed/Util.scala +++ b/src/actors/scala/actors/distributed/Util.scala @@ -1,25 +1,38 @@ -package scala.actors.distributed; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ -import java.io._; -import scala.collection.mutable._; +// $Id$ +package scala.actors.distributed + +import java.io._ +import scala.collection.mutable._ + +/** + * @author Philipp Haller + */ object Util { def pad(s: String, req: int): String = { - val buf = new StringBuffer; - val add: int = req - s.length(); + val buf = new StringBuffer + val add: int = req - s.length() for (val i <- List.range(1, add+1)) buf append "0"; - buf append s; + buf append s buf.toString() } - def encode(i: int) = pad(Integer.toHexString(i), 8); - def encode(l: long) = pad(java.lang.Long.toHexString(l), 16); - def decode(s: String): int = Integer.decode("0x" + s).intValue(); - def decodeLong(s: String): long = java.lang.Long.decode("0x" + s).longValue(); + def encode(i: Int) = pad(Integer.toHexString(i), 8) + def encode(l: Long) = pad(java.lang.Long.toHexString(l), 16) + def decode(s: String): Int = Integer.decode("0x" + s).intValue() + def decodeLong(s: String): Long = java.lang.Long.decode("0x" + s).longValue() def baseName(o: Any) = { - val s = o.toString(); + val s = o.toString() def baseName(s: String): String = { if (s.indexOf('$') != -1) diff --git a/src/actors/scala/actors/multi/AbstractPid.scala b/src/actors/scala/actors/multi/AbstractPid.scala index 41cb745b57..45133c3918 100644 --- a/src/actors/scala/actors/multi/AbstractPid.scala +++ b/src/actors/scala/actors/multi/AbstractPid.scala @@ -1,10 +1,20 @@ -package scala.actors.multi; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + +package scala.actors.multi /** * @author Philipp Haller */ trait AbstractPid { - def !(msg: MailBox#Message): unit - def become(clos: Actor => Unit): unit - def becomeReceiveLoop(f: PartialFunction[MailBox#Message,unit]): unit + def !(msg: MailBox#Message): Unit + def become(clos: Actor => Unit): Unit + def becomeReceiveLoop(f: PartialFunction[MailBox#Message,Unit]): Unit } diff --git a/src/actors/scala/actors/multi/Actor.scala b/src/actors/scala/actors/multi/Actor.scala index f1aa354880..520267d2a2 100644 --- a/src/actors/scala/actors/multi/Actor.scala +++ b/src/actors/scala/actors/multi/Actor.scala @@ -1,15 +1,23 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + package scala.actors.multi -import scala.collection.mutable.HashMap -import scala.collection.mutable.HashSet -import scala.collection.mutable.Stack +import scala.collection.mutable.{HashMap,HashSet,Stack} -case class ExcHandlerDesc(pid: Pid, eid: int) +case class ExcHandlerDesc(pid: Pid, eid: Int) -class ExcHandler(actions: PartialFunction[Throwable, unit], +class ExcHandler(actions: PartialFunction[Throwable, Unit], actor: Actor, parent: ExcHandlerDesc) { - def handle(e: Throwable): unit = { + def handle(e: Throwable): Unit = { if (!actions.isDefinedAt(e)) { if (parent != null) actor.forwardExc(parent, e) } diff --git a/src/actors/scala/actors/multi/LocalPid.scala b/src/actors/scala/actors/multi/LocalPid.scala index 5201abe22e..6762f0915d 100644 --- a/src/actors/scala/actors/multi/LocalPid.scala +++ b/src/actors/scala/actors/multi/LocalPid.scala @@ -1,6 +1,16 @@ -package scala.actors.multi; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ -import scala.collection.mutable.Queue; +// $Id$ + +package scala.actors.multi + +import scala.collection.mutable.Queue /** * @author Philipp Haller @@ -8,14 +18,14 @@ import scala.collection.mutable.Queue; class LocalPid(actor: Actor) extends Pid { var target = actor - def !(msg: MailBox#Message): unit = target send msg + def !(msg: MailBox#Message): Unit = target send msg - def link(other: Pid): unit = target link other - def linkTo(other: Pid): unit = target linkTo other - def unlink(other: Pid): unit = target unlink other - def unlinkFrom(other: Pid): unit = target unlinkFrom other - def exit(reason: Symbol): unit = target exit reason - def exit(from: Pid, reason: Symbol): unit = target.exit(from, reason) + def link(other: Pid): Unit = target link other + def linkTo(other: Pid): Unit = target linkTo other + def unlink(other: Pid): Unit = target unlink other + def unlinkFrom(other: Pid): Unit = target unlinkFrom other + def exit(reason: Symbol): Unit = target exit reason + def exit(from: Pid, reason: Symbol): Unit = target.exit(from, reason) def spawn(body: Actor => Unit): Pid = { val a = new Actor { @@ -71,13 +81,13 @@ class LocalPid(actor: Actor) extends Pid { } } - def becomeReceiveLoop(f: PartialFunction[MailBox#Message,unit]) = { + def becomeReceiveLoop(f: PartialFunction[MailBox#Message,Unit]) = { become(a => a receive new ProxyPartialFunction(a, f)) /*become( a:Actor => { - def loop: unit = { + def loop: Unit = { def proxyFun(m: MailBox#Message): unit = { if (f.isDefinedAt(m)) { f(m); diff --git a/src/actors/scala/actors/multi/MailBox.scala b/src/actors/scala/actors/multi/MailBox.scala index cf721403cb..7809deedc3 100644 --- a/src/actors/scala/actors/multi/MailBox.scala +++ b/src/actors/scala/actors/multi/MailBox.scala @@ -1,6 +1,16 @@ -package scala.actors.multi; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ -import scala.collection.mutable.Queue; +// $Id$ + +package scala.actors.multi + +import scala.collection.mutable.Queue /** * @author Philipp Haller diff --git a/src/actors/scala/actors/multi/Pid.scala b/src/actors/scala/actors/multi/Pid.scala index 99e5c59913..e8cf5ede23 100644 --- a/src/actors/scala/actors/multi/Pid.scala +++ b/src/actors/scala/actors/multi/Pid.scala @@ -1,20 +1,30 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + package scala.actors.multi /** * @author Philipp Haller */ [serializable]abstract class Pid { - def !(msg: MailBox#Message): unit; + def !(msg: MailBox#Message): Unit - def link(other: Pid): unit; - def linkTo(other: Pid): unit; // uni-directional - def unlink(other: Pid): unit; - def unlinkFrom(other: Pid): unit; // uni-directional - def exit(reason: Symbol): unit; - def exit(from: Pid, reason: Symbol): unit; + def link(other: Pid): Unit + def linkTo(other: Pid): Unit // uni-directional + def unlink(other: Pid): Unit + def unlinkFrom(other: Pid): Unit // uni-directional + def exit(reason: Symbol): Unit + def exit(from: Pid, reason: Symbol): Unit - def handleExc(destDesc: ExcHandlerDesc, e: Throwable): unit; + def handleExc(destDesc: ExcHandlerDesc, e: Throwable): Unit - //def become(clos: Actor => Unit): unit - //def becomeReceiveLoop(f: PartialFunction[MailBox#Message,unit]): unit + //def become(clos: Actor => Unit): Unit + //def becomeReceiveLoop(f: PartialFunction[MailBox#Message,unit]): Unit } diff --git a/src/actors/scala/actors/multi/ReceiverTask.scala b/src/actors/scala/actors/multi/ReceiverTask.scala index 218ab000de..8b6893b43e 100644 --- a/src/actors/scala/actors/multi/ReceiverTask.scala +++ b/src/actors/scala/actors/multi/ReceiverTask.scala @@ -1,10 +1,20 @@ -package scala.actors.multi; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + +package scala.actors.multi /** * @author Philipp Haller */ class ReceiverTask(val actor: MailBox, msg: MailBox#Message) extends Runnable { - def run(): unit = { + def run(): Unit = { try { actor receiveMsg msg } diff --git a/src/actors/scala/actors/single/AbstractPid.scala b/src/actors/scala/actors/single/AbstractPid.scala index 28f972148d..74aa004567 100644 --- a/src/actors/scala/actors/single/AbstractPid.scala +++ b/src/actors/scala/actors/single/AbstractPid.scala @@ -1,10 +1,20 @@ -package scala.actors.single; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + +package scala.actors.single /** * @author Philipp Haller */ trait AbstractPid { - def !(msg: MailBox#Message): unit - def become(clos: Actor => Unit): unit - def becomeReceiveLoop(f: PartialFunction[MailBox#Message,unit]): unit + def !(msg: MailBox#Message): Unit + def become(clos: Actor => Unit): Unit + def becomeReceiveLoop(f: PartialFunction[MailBox#Message,Unit]): Unit } diff --git a/src/actors/scala/actors/single/Actor.scala b/src/actors/scala/actors/single/Actor.scala index 41d1f4a59e..d323c51d57 100644 --- a/src/actors/scala/actors/single/Actor.scala +++ b/src/actors/scala/actors/single/Actor.scala @@ -1,3 +1,13 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + package scala.actors.single /** @@ -38,7 +48,7 @@ abstract class Actor extends MailBox { } } - def spawn(body: Actor => unit): Pid = { + def spawn(body: Actor => Unit): Pid = { val a = new Actor { override def run = body(this) } @@ -51,7 +61,7 @@ abstract class Actor extends MailBox { a.self } - def spawnReceive(cases: PartialFunction[MailBox#Message,unit]) = { + def spawnReceive(cases: PartialFunction[MailBox#Message,Unit]) = { val a = new Actor { override def run = receive(cases) } diff --git a/src/actors/scala/actors/single/LocalPid.scala b/src/actors/scala/actors/single/LocalPid.scala index 8186dca426..f04de6ab9c 100644 --- a/src/actors/scala/actors/single/LocalPid.scala +++ b/src/actors/scala/actors/single/LocalPid.scala @@ -1,6 +1,16 @@ -package scala.actors.single; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ -import scala.collection.mutable.Queue; +// $Id$ + +package scala.actors.single + +import scala.collection.mutable.Queue /** * @author Philipp Haller @@ -36,21 +46,21 @@ class LocalPid(actor: Actor) extends Pid { } private class ProxyPartialFunction(a: Actor, f: PartialFunction[MailBox#Message,unit]) extends PartialFunction[MailBox#Message, unit] { - def isDefinedAt(m: MailBox#Message): boolean = f.isDefinedAt(m) + def isDefinedAt(m: MailBox#Message): Boolean = f.isDefinedAt(m) def apply(m: MailBox#Message): unit = { f(m) a receive this } } - def becomeReceiveLoop(f: PartialFunction[MailBox#Message,unit]) = { + def becomeReceiveLoop(f: PartialFunction[MailBox#Message,Unit]) = { become(a => a receive new ProxyPartialFunction(a, f)) /*become( a:Actor => { - def loop: unit = { - def proxyFun(m: MailBox#Message): unit = { + def loop: Unit = { + def proxyFun(m: MailBox#Message): Unit = { if (f.isDefinedAt(m)) { f(m); loop diff --git a/src/actors/scala/actors/single/MailBox.scala b/src/actors/scala/actors/single/MailBox.scala index 68d6c5e784..f42b287323 100644 --- a/src/actors/scala/actors/single/MailBox.scala +++ b/src/actors/scala/actors/single/MailBox.scala @@ -1,6 +1,16 @@ -package scala.actors.single; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ -import scala.collection.mutable.Queue; +// $Id$ + +package scala.actors.single + +import scala.collection.mutable.Queue /** * @author Philipp Haller @@ -31,9 +41,9 @@ class MailBox { var isAlive = true - private var duration: long = 0 - private var timeInitial: long = 0 - private var timeoutEnabled: boolean = false + private var duration: Long = 0 + private var timeInitial: Long = 0 + private var timeoutEnabled: Boolean = false def send(msg: Message): unit = synchronized { if (isAlive) diff --git a/src/actors/scala/actors/single/Pid.scala b/src/actors/scala/actors/single/Pid.scala index 2c7ab20031..8c92568b6d 100644 --- a/src/actors/scala/actors/single/Pid.scala +++ b/src/actors/scala/actors/single/Pid.scala @@ -1,10 +1,20 @@ -package scala.actors.single; +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2005-2006, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + +package scala.actors.single /** * @author Philipp Haller */ abstract class Pid { - def !(msg: MailBox#Message): unit; - //def become(clos: Actor => Unit): unit - //def becomeReceiveLoop(f: PartialFunction[MailBox#Message,unit]): unit + def !(msg: MailBox#Message): Unit + //def become(clos: Actor => Unit): Unit + //def becomeReceiveLoop(f: PartialFunction[MailBox#Message,Unit]): Unit } |