in plugin-bazel-event-service/src/main/kotlin/bazel/GrpcServer.kt [16:37]
fun start(bindableService: io.grpc.BindableService): AutoCloseable {
val server =
ServerBuilder
.forPort(_port)
.addTransportFilter(this)
.intercept(GrpcServerLoggingInterceptor(_messageWriter))
.addService(bindableService)
.maxInboundMessageSize(MAX_MESSAGE_SIZE_BYTES)
.build()
.start()
port = server.port
_messageWriter.trace("Server started, listening on $port")
return AutoCloseable {
_messageWriter.trace("Initiating server termination..")
server.let {
it.shutdownNow()
it.awaitTermination()
}
_messageWriter.trace("Server is shutdown")
}
}