From 448a907ab01abc3be16fd6361eaed6f1cf41f340 Mon Sep 17 00:00:00 2001 From: asonix Date: Wed, 16 Nov 2022 14:29:57 -0600 Subject: [PATCH] Reset breakers when receiving activities --- src/middleware/verifier.rs | 3 +++ src/requests.rs | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/src/middleware/verifier.rs b/src/middleware/verifier.rs index 66df9b6..8234787 100644 --- a/src/middleware/verifier.rs +++ b/src/middleware/verifier.rs @@ -26,6 +26,9 @@ impl MyVerify { ) -> Result { let public_key_id = iri!(key_id); + // receiving an activity from a domain indicates it is probably online + self.0.reset_breaker(&public_key_id); + let actor_id = if let Some(mut actor_id) = self .2 .db diff --git a/src/requests.rs b/src/requests.rs index 5330d77..3677399 100644 --- a/src/requests.rs +++ b/src/requests.rs @@ -187,6 +187,10 @@ impl Requests { } } + pub(crate) fn reset_breaker(&self, iri: &IriString) { + self.breakers.succeed(iri); + } + fn count_err(&self) { let count = self.consecutive_errors.fetch_add(1, Ordering::Relaxed); if count + 1 >= self.error_limit {