Skip to content

Add RateLimiter feature for resilient module (#212)#593

Open
Mamedov14 wants to merge 1 commit intokora-projects:masterfrom
Mamedov14:feature/resilient-rate-limiter
Open

Add RateLimiter feature for resilient module (#212)#593
Mamedov14 wants to merge 1 commit intokora-projects:masterfrom
Mamedov14:feature/resilient-rate-limiter

Conversation

@Mamedov14
Copy link

@Mamedov14 Mamedov14 commented Feb 28, 2026

Closes #212

Implements @RateLimit annotation and RateLimiter interface for the resilient module.

What's included:

  • RateLimiter interface with tryAcquire(), acquire(), and execute() helpers
  • Lock-free fixed-window counter implementation via AtomicLong CAS (no external libraries)
  • Config support: limitForPeriod + limitRefreshPeriod with default fallback
  • Java annotation processor (resilient-annotation-processor) — supports sync and Future/CompletionStage
  • Kotlin symbol processor (resilient-symbol-processor) — supports sync and Flow
  • Tests for both Java and Kotlin

@GoodforGod GoodforGod added new feature New feature request module: resilient Related to Resilient module labels Mar 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

module: resilient Related to Resilient module new feature New feature request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RateLimiter

2 participants