public CompletableFuture<Void> tick() {
        return maybeNextTick();
    }
Tick the ticker. It returns a future which will complete after the delay.
If the ticker is already ticking, the same future will be returned.
It is thread safe to call this method.
s3stream/src/main/java/com/automq/stream/utils/FutureTicker.java