# `Jido.Messaging.Moderators.RateLimiter`
[🔗](https://github.com/agentjido/jido_messaging/blob/v1.0.0/lib/jido_messaging/moderators/rate_limiter.ex#L1)

Rate limiting moderator to prevent message flooding.

Uses ETS to track message counts per sender within a time window.

## Options

- `:max_messages` - Maximum messages allowed in window (default: 10)
- `:window_ms` - Time window in milliseconds (default: 60_000 = 1 minute)
- `:table` - ETS table name for tracking (default: :jido_messaging_rate_limits)

## Example

    RateLimiter.moderate(message, max_messages: 5, window_ms: 30_000)

# `get_count`

Get current message count for a sender within the window.

# `init`

Initialize the rate limiter ETS table.

Call this during application startup if you want to control table creation.

# `reset`

Reset rate limit counters for a sender.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
