=act #3572 Add parens to sender

* because it is not referentially transparent; normally we reserved parens for
  side-effecting code but given how people thoughtlessly close over it we revised
  that that decision for sender
* caller can still omit parens
This commit is contained in:
Patrik Nordwall 2014-01-16 15:16:35 +01:00
parent 537840bd2a
commit a11fb1dafc
202 changed files with 631 additions and 620 deletions

View file

@ -68,7 +68,7 @@ object MultiNodeClusterSpec {
}
case End
testActor forward End
sender ! EndAck
sender() ! EndAck
case EndAck
testActor forward EndAck
}

View file

@ -70,7 +70,7 @@ abstract class RestartFirstSeedNodeSpec
def receive = {
case a: Address
seedNode1Address = a
sender ! "ok"
sender() ! "ok"
}
}).withDeploy(Deploy.local), name = "address-receiver")
enterBarrier("seed1-address-receiver-ready")

View file

@ -520,8 +520,8 @@ private[cluster] object StressMultiJvmSpec extends MultiNodeConfig {
case SendBatch sendJobs()
case RetryTick resend()
case End
done(sender)
context.become(ending(sender))
done(sender())
context.become(ending(sender()))
}
def ending(replyTo: ActorRef): Receive = {
@ -571,7 +571,7 @@ private[cluster] object StressMultiJvmSpec extends MultiNodeConfig {
*/
class Worker extends Actor with ActorLogging {
def receive = {
case SimpleJob(id, payload) sender ! Ack(id)
case SimpleJob(id, payload) sender() ! Ack(id)
case TreeJob(id, payload, idx, levels, width)
// create the actors when first TreeJob message is received
val totalActors = ((width * math.pow(width, levels) - 1) / (width - 1)).toInt
@ -583,7 +583,7 @@ private[cluster] object StressMultiJvmSpec extends MultiNodeConfig {
}
def treeWorker(tree: ActorRef): Receive = {
case SimpleJob(id, payload) sender ! Ack(id)
case SimpleJob(id, payload) sender() ! Ack(id)
case TreeJob(id, payload, idx, _, _)
tree forward ((idx, SimpleJob(id, payload)))
}
@ -602,7 +602,7 @@ private[cluster] object StressMultiJvmSpec extends MultiNodeConfig {
class Leaf extends Actor {
def receive = {
case (_: Int, job: SimpleJob) sender ! Ack(job.id)
case (_: Int, job: SimpleJob) sender() ! Ack(job.id)
}
}
@ -630,7 +630,7 @@ private[cluster] object StressMultiJvmSpec extends MultiNodeConfig {
def receive = {
case props: Props context.actorOf(props)
case e: Exception context.children foreach { _ ! e }
case GetChildrenCount sender ! ChildrenCount(context.children.size, restartCount)
case GetChildrenCount sender() ! ChildrenCount(context.children.size, restartCount)
case Reset
require(context.children.isEmpty,
s"ResetChildrenCount not allowed when children exists, [${context.children.size}]")

View file

@ -43,7 +43,7 @@ object SurviveNetworkInstabilityMultiJvmSpec extends MultiNodeConfig {
class Parent extends Actor {
def receive = {
case p: Props sender ! context.actorOf(p)
case p: Props sender() ! context.actorOf(p)
}
}
@ -53,7 +53,7 @@ object SurviveNetworkInstabilityMultiJvmSpec extends MultiNodeConfig {
def receive = {
case "hello"
context.system.scheduler.scheduleOnce(2.seconds, self, "boom")
sender ! "hello"
sender() ! "hello"
case "boom" throw new SimulatedException
}
}
@ -78,8 +78,8 @@ class SurviveNetworkInstabilityMultiJvmNode8 extends SurviveNetworkInstabilitySp
abstract class SurviveNetworkInstabilitySpec
extends MultiNodeSpec(SurviveNetworkInstabilityMultiJvmSpec)
with MultiNodeClusterSpec
with ImplicitSender {
with MultiNodeClusterSpec
with ImplicitSender {
import SurviveNetworkInstabilityMultiJvmSpec._

View file

@ -27,7 +27,7 @@ object AdaptiveLoadBalancingRouterMultiJvmSpec extends MultiNodeConfig {
class Routee extends Actor {
def receive = {
case _ sender ! Reply(Cluster(context.system).selfAddress)
case _ sender() ! Reply(Cluster(context.system).selfAddress)
}
}
@ -45,7 +45,7 @@ object AdaptiveLoadBalancingRouterMultiJvmSpec extends MultiNodeConfig {
val numberOfArrays = allocateBytes / 1024
usedMemory = Array.ofDim(numberOfArrays, 248) // each 248 element Int array will use ~ 1 kB
log.debug("used heap after: [{}] bytes", ManagementFactory.getMemoryMXBean.getHeapMemoryUsage.getUsed)
sender ! "done"
sender() ! "done"
}
}

View file

@ -29,7 +29,7 @@ object ClusterConsistentHashingRouterMultiJvmSpec extends MultiNodeConfig {
class Echo extends Actor {
def receive = {
case _ sender ! self
case _ sender() ! self
}
}

View file

@ -30,7 +30,7 @@ object ClusterRoundRobinRoutedActorMultiJvmSpec extends MultiNodeConfig {
def this() = this(DeployRoutee)
def receive = {
case "hit" sender ! Reply(routeeType, self)
case "hit" sender() ! Reply(routeeType, self)
}
}

View file

@ -27,7 +27,7 @@ object AdaptiveLoadBalancingRouterMultiJvmSpec extends MultiNodeConfig {
class Echo extends Actor {
def receive = {
case _ sender ! Reply(Cluster(context.system).selfAddress)
case _ sender() ! Reply(Cluster(context.system).selfAddress)
}
}
@ -45,7 +45,7 @@ object AdaptiveLoadBalancingRouterMultiJvmSpec extends MultiNodeConfig {
val numberOfArrays = allocateBytes / 1024
usedMemory = Array.ofDim(numberOfArrays, 248) // each 248 element Int array will use ~ 1 kB
log.debug("used heap after: [{}] bytes", ManagementFactory.getMemoryMXBean.getHeapMemoryUsage.getUsed)
sender ! "done"
sender() ! "done"
}
}

View file

@ -29,7 +29,7 @@ object ClusterConsistentHashingRouterMultiJvmSpec extends MultiNodeConfig {
class Echo extends Actor {
def receive = {
case _ sender ! self
case _ sender() ! self
}
}

View file

@ -33,7 +33,7 @@ object ClusterRoundRobinMultiJvmSpec extends MultiNodeConfig {
def this() = this(PoolRoutee)
def receive = {
case "hit" sender ! Reply(routeeType, self)
case "hit" sender() ! Reply(routeeType, self)
}
}