class RedisReducedPropagationStorage implements ReducedPropagationStorage {

    @Override
    public Future<Void> removeQueueRequest(String queue) {
        Future<Void> future = Future.future();

        if(StringUtils.isEmpty(queue)){
            future.fail("Queue is not allowed to be empty");
            return future;
        }

        redisClient.hdel(QUEUE_REQUESTS, queue, reply -> {
            if(reply.failed()){
                String message = "Failed to remove request for queue '"+queue+"'. Cause: " + logCause(reply);
                log.error(message);
                future.fail(message);
            } else {
                future.complete();
            }
        });

        return future;
    }

    public  RedisReducedPropagationStorage(RedisClient redisClient);

}