From 2357b792b4894325f2d878b4e49ae6d894a41f68 Mon Sep 17 00:00:00 2001 From: Philipp Haller Date: Fri, 2 Mar 2007 15:20:08 +0000 Subject: Small clean-ups --- docs/examples/actors/pingpong.scala | 41 +++++++++++++++---------------------- 1 file changed, 16 insertions(+), 25 deletions(-) (limited to 'docs/examples/actors') diff --git a/docs/examples/actors/pingpong.scala b/docs/examples/actors/pingpong.scala index 40b6486727..679385abbe 100644 --- a/docs/examples/actors/pingpong.scala +++ b/docs/examples/actors/pingpong.scala @@ -3,43 +3,26 @@ package examples.actors import scala.actors.Actor import scala.actors.Actor._ -abstract class PingMessage -case object Start extends PingMessage -case object SendPing extends PingMessage -case object Pong extends PingMessage - -abstract class PongMessage -case object Ping extends PongMessage -case object Stop extends PongMessage - -object pingpong extends Application { - val pong = new Pong - val ping = new Ping(100000, pong) - ping.start - pong.start - ping ! Start -} +case object SendPing +case object Ping +case object Pong +case object Stop class Ping(count: int, pong: Actor) extends Actor { def act() { - Console.println("Ping: Initializing with count "+count+": "+pong) var pingsLeft = count loop { react { - case Start => - Console.println("Ping: starting.") - pong ! Ping - pingsLeft = pingsLeft - 1 case SendPing => pong ! Ping pingsLeft = pingsLeft - 1 case Pong => if (pingsLeft % 1000 == 0) - Console.println("Ping: pong from: "+sender) + Console.println("Ping: pong") if (pingsLeft > 0) self ! SendPing else { - Console.println("Ping: Stop.") + Console.println("Ping: stop") pong ! Stop exit('stop) } @@ -55,13 +38,21 @@ class Pong extends Actor { react { case Ping => if (pongCount % 1000 == 0) - Console.println("Pong: ping "+pongCount+" from "+sender) + Console.println("Pong: ping "+pongCount) sender ! Pong pongCount = pongCount + 1 case Stop => - Console.println("Pong: Stop.") + Console.println("Pong: stop") exit('stop) } } } } + +object pingpong extends Application { + val pong = new Pong + val ping = new Ping(100000, pong) + ping.start + pong.start + ping ! SendPing +} -- cgit v1.2.3