in benchmark-java/src/main/java/org/apache/pekko/grpc/benchmarks/driver/LoadClient.java [152:182]
void start() {
for (int i = 0; i < threadCount; i++) {
Runnable r = null;
switch (config.getPayloadConfig().getPayloadCase()) {
case SIMPLE_PARAMS: {
if (config.getClientType() == Control.ClientType.ASYNC_CLIENT) {
if (config.getRpcType() == Control.RpcType.UNARY) {
r = new AsyncUnaryWorker(clients[i % clients.length]);
} else if (config.getRpcType() == Control.RpcType.STREAMING) {
r = new AsyncPingPongWorker(mat, clients[i % clients.length]);
}
}
break;
}
default: {
throw Status.UNIMPLEMENTED.withDescription(
"Unknown payload case " + config.getPayloadConfig().getPayloadCase().name())
.asRuntimeException();
}
}
if (r == null) {
throw new IllegalStateException(config.getRpcType().name()
+ " not supported for client type "
+ config.getClientType());
}
fixedThreadPool.execute(r);
}
if (osBean != null) {
lastMarkCpuTime = osBean.getProcessCpuTime();
}
}