summaryrefslogtreecommitdiff
path: root/docs/examples/actors/counter/RemoteCounter.scala
blob: 1f5c730a1a031aa8954a52f07439119ee4d8ccb9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package actors.examples.counter

import actors.distributed.RemoteActor

class Counter extends RemoteActor {
  override def run(): unit =
    loop(0)

  def loop(value: int): unit = {
    Console.println("Value: " + value)
    receive {
      case Incr() =>
        loop(value + 1)
      case Value(p) =>
        p ! Result(value)
        loop(value)
      case other =>
        loop(value)
    }
  }
}