Concurrency and Source Panels
Client and Worker Files
Replay one Kotlin execution where a client request calls a worker helper.
Project Entry
RequestClient.kt
fun main() {
val command =
val label = if (command == "refresh") {
"cache"
} else if (command == "archive") {
"storage"
} else {
"health"
}
val response = handleRequest(command)
val ticket = 40 + command.length
println("label=$label")
println("ticket=$ticket")
println(response)
}
fun main() {
val command =
val label = if (command == "refresh") {
"cache"
} else if (command == "archive") {
"storage"
} else {
"health"
}
val response = handleRequest(command)
val ticket = 40 + command.length
println("label=$label")
println("ticket=$ticket")
println(response)
}
fun main() {
val command =
val label = if (command == "refresh") {
"cache"
} else if (command == "archive") {
"storage"
} else {
"health"
}
val response = handleRequest(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 `handleRequest(command)` call into the worker file and the returned response back to the client.
boundary
The client owns the selected command, label, and visible output. The worker owns the response rule for that command.