diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2026-01-07 11:26:48 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2026-01-07 11:26:48 +0000 |
| commit | 08eba888fe510896f1863be6f2b5a72a91616975 (patch) | |
| tree | c5c947246dd34fbffbc1cb15b48102bb472d3d4f /Cargo.lock | |
| parent | 2665811f54f62f147b7d773c76bd26d032b8f9cb (diff) | |
Add DomainThrottle for per-domain rate limiting
Implement per-domain throttling for purgatory sync operations:
- Concurrent request limit (max in-flight requests per domain)
- Rate limit (max requests per minute via sliding window)
- Fair round-robin queue processing across identifiers
- In-progress tracking to prevent duplicate fetches
- Tried URL tracking per identifier
Add indexmap dependency for ordered iteration in round-robin queue.
Includes 6 unit tests covering:
- Concurrent limit enforcement
- Rate limit enforcement (sliding window)
- Round-robin fair processing
- In-progress identifier skipping
- Round-robin index adjustment on removal
- Tried URL merging on re-enqueue
Diffstat (limited to 'Cargo.lock')
| -rw-r--r-- | Cargo.lock | 1 |
1 files changed, 1 insertions, 0 deletions
| @@ -1435,6 +1435,7 @@ dependencies = [ | |||
| 1435 | "http-body-util", | 1435 | "http-body-util", |
| 1436 | "hyper 1.8.1", | 1436 | "hyper 1.8.1", |
| 1437 | "hyper-util", | 1437 | "hyper-util", |
| 1438 | "indexmap", | ||
| 1438 | "lazy_static", | 1439 | "lazy_static", |
| 1439 | "nostr-lmdb", | 1440 | "nostr-lmdb", |
| 1440 | "nostr-relay-builder", | 1441 | "nostr-relay-builder", |