class RedisQueueCircuitBreakerStorage implements QueueCircuitBreakerStorage {

    @Override
    public Future<Void> closeAllCircuits() {
        Future<Void> future = Future.future();

        Future<Void> closeOpenCircuitsFuture = closeCircuitsByKey(STORAGE_OPEN_CIRCUITS);
        Future<Void> closeHalfOpenCircuitsFuture = closeCircuitsByKey(STORAGE_HALFOPEN_CIRCUITS);

        CompositeFuture.all(closeOpenCircuitsFuture, closeHalfOpenCircuitsFuture).setHandler(event -> {
            if(event.succeeded()){
                future.complete();
            } else {
                future.fail(event.cause().getMessage());
            }
        });

        return future;
    }

    public  RedisQueueCircuitBreakerStorage(RedisClient redisClient);

}