public boolean tryAdvance()

in instrumentation/openai-client-instrumentation/instrumentation-1.1/src/main/java/co/elastic/otel/openai/v1_1/wrappers/TracingStreamedResponse.java [111:131]


    public boolean tryAdvance(Consumer<? super ChatCompletionChunk> action) {
      boolean chunkReceived =
          delegateSpliterator.tryAdvance(
              chunk -> {
                collectFinishReasons(chunk);
                action.accept(chunk);
                String model = chunk.model();
                if (model != null && !model.isEmpty()) {
                  TracingStreamedResponse.this.model = model;
                }
                String id = chunk.id();
                if (id != null && !id.isEmpty()) {
                  TracingStreamedResponse.this.responseId = id;
                }
                chunk.usage().ifPresent(usage -> TracingStreamedResponse.this.usage = usage);
              });
      if (!chunkReceived) {
        endSpan();
      }
      return chunkReceived;
    }