18
18
package io.bazel.worker
19
19
20
20
import com.google.devtools.build.lib.worker.ProtoWorkerMessageProcessor
21
- import com.google.devtools.build.lib.worker.WorkRequestHandler.WorkRequestCallback
22
- import com.google.devtools.build.lib.worker.WorkRequestHandler.WorkRequestHandlerBuilder
23
- import com.google.devtools.build.lib.worker.WorkerProtocol.WorkRequest
21
+ import com.google.devtools.build.lib.worker.WorkRequestHandler
22
+ import com.google.devtools.build.lib.worker.WorkerProtocol
24
23
import java.io.IOException
25
24
import java.io.PrintWriter
26
25
import java.time.Duration
@@ -36,17 +35,16 @@ class PersistentWorker : Worker {
36
35
return WorkerContext .run {
37
36
val realStdErr = System .err
38
37
try {
39
- val workerHandler =
40
- WorkRequestHandlerBuilder (
41
- WorkRequestCallback { request: WorkRequest , pw: PrintWriter ->
42
- return @WorkRequestCallback doTask(
43
- name = " request ${request.requestId} " ,
44
- task = request.workTo(execute),
45
- ).asResponse(pw)
46
- },
47
- realStdErr,
48
- ProtoWorkerMessageProcessor (System .`in `, System .out ),
49
- ).setCpuUsageBeforeGc(Duration .ofSeconds(10 )).build()
38
+ val workerHandler: WorkRequestHandler = WorkRequestHandler .WorkRequestHandlerBuilder (
39
+ WorkRequestHandler .WorkRequestCallback { request: WorkerProtocol .WorkRequest , pw: PrintWriter ->
40
+ return @WorkRequestCallback doTask(
41
+ name = " request ${request.requestId} " ,
42
+ task = request.workTo(execute),
43
+ ).asResponse(pw)
44
+ },
45
+ realStdErr,
46
+ ProtoWorkerMessageProcessor (System .`in `, System .out ),
47
+ ).setCpuUsageBeforeGc(Duration .ofSeconds(10 )).build()
50
48
workerHandler.processRequests()
51
49
} catch (e: IOException ) {
52
50
this .error(e, { " Unknown IO exception" })
@@ -57,8 +55,11 @@ class PersistentWorker : Worker {
57
55
}
58
56
}
59
57
60
- private fun WorkRequest.workTo (execute : Work ): (sub: WorkerContext .TaskContext ) -> Status =
61
- { ctx -> execute(ctx, argumentsList.toList()) }
58
+ private fun WorkerProtocol.WorkRequest.workTo (execute : Work ): (sub: WorkerContext .TaskContext ) -> Status {
59
+ return { ctx ->
60
+ execute(ctx, argumentsList.toList())
61
+ }
62
+ }
62
63
63
64
private fun TaskResult.asResponse (pw : PrintWriter ): Int {
64
65
pw.print (log.out .toString())
0 commit comments