private static void ExecuteHalfDuplexCalls()

in continuous_load_testing/src/main/java/com/google/net/grpc/testing/directpath/continuous_load_testing/Client.java [319:357]


  private static void ExecuteHalfDuplexCalls(TestServiceStub stub) {
    logger.info("ExecuteHalfDuplexCalls");
    StreamingOutputCallRequest request = StreamingOutputCallRequest.newBuilder().build();
    final StreamObserver<StreamingOutputCallResponse> responseObserver = new StreamObserver<>() {
      @Override
      public void onNext(StreamingOutputCallResponse value) {
      }

      @Override
      public void onError(Throwable t) {
        StreamObserver<StreamingOutputCallRequest> requestObserver = stub.halfDuplexCall(
            this);
        for (int i = 0; i < num_of_requests; i++) {
          requestObserver.onNext(request);
        }
      }

      @Override
      public void onCompleted() {
        StreamObserver<StreamingOutputCallRequest> requestObserver = stub.halfDuplexCall(
            this);
        for (int i = 0; i < num_of_requests; i++) {
          requestObserver.onNext(request);
        }
        requestObserver.onCompleted();
      }
    };
    for (int i = 0; i < concurrency; i++) {
      Thread t = new Thread(() -> {
        StreamObserver<StreamingOutputCallRequest> requestObserver = stub.halfDuplexCall(
            responseObserver);
        for (int i1 = 0; i1 < num_of_requests; i1++) {
          requestObserver.onNext(request);
        }
        requestObserver.onCompleted();
      });
      t.start();
    }
  }