diff --git a/fluxer_gifs/src/shard_impl.rs b/fluxer_gifs/src/shard_impl.rs index d9fa9b73b..54c548f20 100644 --- a/fluxer_gifs/src/shard_impl.rs +++ b/fluxer_gifs/src/shard_impl.rs @@ -175,7 +175,7 @@ impl CacheTelemetry { fn next_generation(&self) -> u64 { self.next_generation - .fetch_update(METRICS_ORDERING, METRICS_ORDERING, |generation| { + .try_update(METRICS_ORDERING, METRICS_ORDERING, |generation| { generation.checked_add(1) }) .expect("GIF cache generation exhausted") diff --git a/fluxer_media_proxy/src/byte_budget.rs b/fluxer_media_proxy/src/byte_budget.rs index d612529ac..4d2f971f5 100644 --- a/fluxer_media_proxy/src/byte_budget.rs +++ b/fluxer_media_proxy/src/byte_budget.rs @@ -43,7 +43,7 @@ impl ByteBudgetInner { assert!(amount <= self.limit); let released = self .used - .fetch_update(Ordering::AcqRel, Ordering::Acquire, |used| { + .try_update(Ordering::AcqRel, Ordering::Acquire, |used| { used.checked_sub(amount) }); assert!(released.is_ok()); diff --git a/fluxer_media_proxy/src/server/middleware.rs b/fluxer_media_proxy/src/server/middleware.rs index 2c8043d33..729938dd5 100644 --- a/fluxer_media_proxy/src/server/middleware.rs +++ b/fluxer_media_proxy/src/server/middleware.rs @@ -63,7 +63,7 @@ impl HttpRequestDrain { fn begin_request(&self) -> ActiveHttpRequest { self.inner .active_requests - .fetch_update(Ordering::AcqRel, Ordering::Acquire, |active| { + .try_update(Ordering::AcqRel, Ordering::Acquire, |active| { active.checked_add(1) }) .expect("http active request count must not overflow"); diff --git a/fluxer_media_proxy/src/server/native_task_executor.rs b/fluxer_media_proxy/src/server/native_task_executor.rs index b24673414..033919bbd 100644 --- a/fluxer_media_proxy/src/server/native_task_executor.rs +++ b/fluxer_media_proxy/src/server/native_task_executor.rs @@ -239,7 +239,7 @@ impl NativeTaskTracker { } self.inner .active - .fetch_update(Ordering::AcqRel, Ordering::Acquire, |active| { + .try_update(Ordering::AcqRel, Ordering::Acquire, |active| { active.checked_add(1) }) .expect("native task count must not overflow"); diff --git a/fluxer_users/src/shard_impl.rs b/fluxer_users/src/shard_impl.rs index afb615839..0c73dc977 100644 --- a/fluxer_users/src/shard_impl.rs +++ b/fluxer_users/src/shard_impl.rs @@ -214,7 +214,7 @@ impl UserCaches { async fn invalidate(&self, user_id: i64) { let generation = self .generation(user_id) - .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |current| { + .try_update(Ordering::SeqCst, Ordering::SeqCst, |current| { current.checked_add(1) }) .expect("user cache generation exhausted");