Concurrency and Source Panels
Client and Worker Files
Replay one Scala execution as it crosses from a client source file into a worker source file.
Client and Worker Files
Project Entry
RequestClient.scala
object Main {
def main(args: Array[String]): Unit = {
val command =
var label = "health"
if (command == "refresh") {
label = "cache"
}
else if (command == "archive") {
label = "storage"
}
val response = RequestWorker.handle(command)
val ticket = 40 + command.length
println("label=" + label)
println("ticket=" + ticket)
println(response)
}
}
object Main {
def main(args: Array[String]): Unit = {
val command =
var label = "health"
if (command == "refresh") {
label = "cache"
}
else if (command == "archive") {
label = "storage"
}
val response = RequestWorker.handle(command)
val ticket = 40 + command.length
println("label=" + label)
println("ticket=" + ticket)
println(response)
}
}
object Main {
def main(args: Array[String]): Unit = {
val command =
var label = "health"
if (command == "refresh") {
label = "cache"
}
else if (command == "archive") {
label = "storage"
}
val response = RequestWorker.handle(command)
val ticket = 40 + command.length
println("label=" + label)
println("ticket=" + ticket)
println(response)
}
}
source-panel
When an example has more than one source file, replay keeps each file in its own panel while preserving one ordered trace stream. The Variables panel follows the actual `RequestWorker.handle(command)` call into the worker file and the returned response back to the client.