<?php

namespace Licenzo\Support;

if (!defined('ABSPATH')) {
    exit;
}

/**
 * Signals a failure inside the rate-limit counter store.
 *
 * Thrown by RateLimitStore when the underlying backend (object cache or
 * transient) is unavailable or returns a value inconsistent with the
 * rate-limit protocol. The middleware catches this and applies the
 * asymmetric failure policy:
 *   - public rate-limited policy  -> fail closed (return 429)
 *   - non-public (e.g. 'default') -> fail open   (let request through)
 *
 * The exception carries NO backend-identifying metadata by design,
 * to prevent log aggregators from fingerprinting the infrastructure
 * (e.g. distinguishing object-cache vs transient failures).
 */
class RateLimitStoreException extends \RuntimeException
{
}
