private static Duration extractRetryDelay()

in cloud-spanner-r2dbc/src/main/java/com/google/cloud/spanner/r2dbc/util/SpannerExceptionUtil.java [126:138]


  private static Duration extractRetryDelay(Throwable cause) {
    Metadata trailers = Status.trailersFromThrowable(cause);
    if (trailers != null && trailers.containsKey(KEY_RETRY_INFO)) {
      RetryInfo retryInfo = trailers.get(KEY_RETRY_INFO);
      if (retryInfo.hasRetryDelay()) {
        com.google.protobuf.Duration protobufDuration = retryInfo.getRetryDelay();
        return Duration.ofSeconds(protobufDuration.getSeconds())
            .withNanos(protobufDuration.getNanos());
      }
    }

    return null;
  }