Skip to content

Commit 15a856e

Browse files
committed
not use var-s in scala code in broadcaster
1 parent 4dc7df1 commit 15a856e

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/test/scala/example/BroadcasterSuite.scala

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,9 @@ object Broadcaster {
6161
import scala.reflect.macros.blackbox.Context
6262
import scala.reflect.api._
6363

64-
class Receiver[A](var c: Channel[Message[A]])
64+
class Receiver[A](initChannel: Channel[Message[A]])
6565
{
66+
val current = makeEffectedChannel(initChannel)
6667

6768
/**
6869
* return Some(a) when broadcaster is not closed; None when closed.
@@ -71,11 +72,11 @@ object Broadcaster {
7172
* In real life, interface will be better.
7273
**/
7374
def aread():Future[Option[A]] = go {
74-
val b = c.read
75-
c.write(b)
75+
val b = current.read
76+
current.write(b)
7677
b match {
7778
case ValueMessage(ch,v) =>
78-
c = ch
79+
current(_ => ch)
7980
Some(v)
8081
case EndMessage =>
8182
None

0 commit comments

Comments
 (0)