private static boolean checkTimeout(WriteOptions options, CompletableFuture<?> cf) {
        long elapsedMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - options.requestTime());
        if (elapsedMs > options.timeout()) {
            cf.completeExceptionally(new TimeoutException(String.format("request timeout, elapsedMs %d > timeoutMs %d",
                elapsedMs, options.timeout())));
            return true;
        } else {
            return false;
        }
    }
Check whether the operation is timeout, and fail the future with {@link TimeoutException} if timeout.
s3stream/src/main/java/com/automq/stream/s3/operator/AbstractObjectStorage.java