summaryrefslogtreecommitdiff
path: root/docs/examples/actors/BoundedBufferTest.scala
diff options
context:
space:
mode:
Diffstat (limited to 'docs/examples/actors/BoundedBufferTest.scala')
-rw-r--r--docs/examples/actors/BoundedBufferTest.scala34
1 files changed, 17 insertions, 17 deletions
diff --git a/docs/examples/actors/BoundedBufferTest.scala b/docs/examples/actors/BoundedBufferTest.scala
index 5a04f7aafd..7585d8779a 100644
--- a/docs/examples/actors/BoundedBufferTest.scala
+++ b/docs/examples/actors/BoundedBufferTest.scala
@@ -2,29 +2,29 @@ package examples.actors
import scala.actors.Actor._
-class BoundedBuffer[T](N: int) {
- private case class Get
- private case class Put(x: T)
+object boundedbuffer {
+ class BoundedBuffer[T](N: int) {
+ private case class Get
+ private case class Put(x: T)
- private val buffer = actor {
- val buf = new Array[T](N)
- var in = 0; var out = 0; var n = 0
- while(true) {
- receive {
- case Put(x) if n < N =>
- buf(in) = x; in = (in + 1) % N; n = n + 1; reply()
- case Get() if n > 0 =>
- val r = buf(out); out = (out + 1) % N; n = n - 1; reply(r)
+ private val buffer = actor {
+ val buf = new Array[T](N)
+ var in = 0; var out = 0; var n = 0
+ while(true) {
+ receive {
+ case Put(x) if n < N =>
+ buf(in) = x; in = (in + 1) % N; n = n + 1; reply()
+ case Get() if n > 0 =>
+ val r = buf(out); out = (out + 1) % N; n = n - 1; reply(r)
+ }
}
}
- }
- def put(x: T): Unit = buffer !? Put(x)
+ def put(x: T): Unit = buffer !? Put(x)
- def get: T = (buffer !? Get()).asInstanceOf[T]
-}
+ def get: T = (buffer !? Get()).asInstanceOf[T]
+ }
-object BoundedBufferTest {
def main(args: Array[String]) = {
val buf = new BoundedBuffer[Int](1)
buf.put(42)