upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/http
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2025-12-04 17:58:31 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2025-12-04 17:58:31 +0000
commitf639ecfac6687c9e8de4e3f305e168b2e4e1bb87 (patch)
treecfcbf16a937a59048930ccaf8557f78ed5576bde /src/http
parentbf558b0dc17e14f96eea624ea5591315a2909154 (diff)
feat(sync): Phase 3 - resilience and health tracking
- Add RelayHealthTracker with DashMap - Implement exponential backoff (5s -> 1h max) - Handle dead relays (24h failures -> daily retry) - Add startup jitter to prevent thundering herd - Add NGIT_SYNC_MAX_BACKOFF_SECS config
Diffstat (limited to 'src/http')
-rw-r--r--src/http/nip11.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/http/nip11.rs b/src/http/nip11.rs
index e9e1c25..22e5b22 100644
--- a/src/http/nip11.rs
+++ b/src/http/nip11.rs
@@ -106,6 +106,7 @@ mod tests {
106 metrics_connection_per_ip_abuse_threshold: 10, 106 metrics_connection_per_ip_abuse_threshold: 10,
107 metrics_top_n_repos: 10, 107 metrics_top_n_repos: 10,
108 sync_relay_url: None, 108 sync_relay_url: None,
109 sync_max_backoff_secs: 3600,
109 }; 110 };
110 111
111 let doc = RelayInformationDocument::from_config(&config); 112 let doc = RelayInformationDocument::from_config(&config);
@@ -141,6 +142,7 @@ mod tests {
141 metrics_connection_per_ip_abuse_threshold: 10, 142 metrics_connection_per_ip_abuse_threshold: 10,
142 metrics_top_n_repos: 10, 143 metrics_top_n_repos: 10,
143 sync_relay_url: None, 144 sync_relay_url: None,
145 sync_max_backoff_secs: 3600,
144 }; 146 };
145 147
146 let doc = RelayInformationDocument::from_config(&config); 148 let doc = RelayInformationDocument::from_config(&config);