# Resiliency v0.6.0 - API Reference

## Modules

- [Resiliency](Resiliency.md): Resilience and concurrency toolkit for Elixir.
- [Resiliency.BackoffRetry.Abort](Resiliency.BackoffRetry.Abort.md): Wraps a reason to signal that retry should stop immediately.

- Telemetry
  - [Resiliency.Telemetry](Resiliency.Telemetry.md): Telemetry events emitted by the Resiliency library.

- Retry
  - [Resiliency.BackoffRetry](Resiliency.BackoffRetry.md): Functional retry with backoff for Elixir.
  - [Resiliency.BackoffRetry.Backoff](Resiliency.BackoffRetry.Backoff.md): Stream-based backoff strategies for `Resiliency.BackoffRetry`.

- Hedged Requests
  - [Resiliency.Hedged](Resiliency.Hedged.md): Hedged requests for Elixir.
  - [Resiliency.Hedged.Percentile](Resiliency.Hedged.Percentile.md): Circular buffer for latency samples with percentile calculation.
  - [Resiliency.Hedged.Tracker](Resiliency.Hedged.Tracker.md): Adaptive delay tracker with token-bucket hedge throttling.

- Single Flight
  - [Resiliency.SingleFlight](Resiliency.SingleFlight.md): Deduplicate concurrent function calls by key.

- Task Combinators
  - [Resiliency.AllSettled](Resiliency.AllSettled.md): Run all functions concurrently and collect every result, regardless of failures.
  - [Resiliency.FirstOk](Resiliency.FirstOk.md): Try functions sequentially and return the first successful result.
  - [Resiliency.Map](Resiliency.Map.md): Map over an enumerable with bounded concurrency, cancelling on first error.
  - [Resiliency.Race](Resiliency.Race.md): Run all functions concurrently and return the first successful result.

- Semaphore
  - [Resiliency.WeightedSemaphore](Resiliency.WeightedSemaphore.md): A weighted semaphore for bounding concurrent access to a shared resource.

- Circuit Breaker
  - [Resiliency.CircuitBreaker](Resiliency.CircuitBreaker.md): A circuit breaker with sliding window failure-rate tracking and automatic recovery.

- Bulkhead
  - [Resiliency.Bulkhead](Resiliency.Bulkhead.md): A bulkhead for isolating workloads with per-partition concurrency limits.

- Rate Limiter
  - [Resiliency.RateLimiter](Resiliency.RateLimiter.md): A token-bucket rate limiter for controlling request frequency.

