We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 4dc7df1 commit 15a856eCopy full SHA for 15a856e
src/test/scala/example/BroadcasterSuite.scala
@@ -61,8 +61,9 @@ object Broadcaster {
61
import scala.reflect.macros.blackbox.Context
62
import scala.reflect.api._
63
64
- class Receiver[A](var c: Channel[Message[A]])
+ class Receiver[A](initChannel: Channel[Message[A]])
65
{
66
+ val current = makeEffectedChannel(initChannel)
67
68
/**
69
* return Some(a) when broadcaster is not closed; None when closed.
@@ -71,11 +72,11 @@ object Broadcaster {
71
72
* In real life, interface will be better.
73
**/
74
def aread():Future[Option[A]] = go {
- val b = c.read
75
- c.write(b)
+ val b = current.read
76
+ current.write(b)
77
b match {
78
case ValueMessage(ch,v) =>
- c = ch
79
+ current(_ => ch)
80
Some(v)
81
case EndMessage =>
82
None
0 commit comments