From 8d18b7368172a9f18d4a0793ab717cdb05f2e4f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jagoda=20Estera=20=C5=9Al=C4=85zak?= <128227338+j-g00da@users.noreply.github.com> Date: Thu, 5 Feb 2026 16:42:06 +0100 Subject: [PATCH] refactor: Remove unnecessary Arc (#36) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `Arc` around handler configs are not needed, as they are not shared. Signed-off-by: Jagoda Ślązak --- filtermail/src/inbound.rs | 7 ++----- filtermail/src/outbound.rs | 5 ++--- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/filtermail/src/inbound.rs b/filtermail/src/inbound.rs index def5d2cb..fb554dde 100644 --- a/filtermail/src/inbound.rs +++ b/filtermail/src/inbound.rs @@ -7,21 +7,18 @@ use crate::smtp_server::SmtpHandler; use async_trait::async_trait; use lettre::{AsyncSmtpTransport, AsyncTransport, Tokio1Executor}; use mailparse::{MailHeaderMap, parse_mail}; -use std::sync::Arc; pub use crate::smtp_server::Envelope; use crate::utils::{extract_address, format_smtp_error}; /// Handler for incoming SMTP messages. pub struct IncomingBeforeQueueHandler { - config: Arc, + config: Config, } impl IncomingBeforeQueueHandler { pub fn new(config: Config) -> Self { - Self { - config: Arc::new(config), - } + Self { config } } } diff --git a/filtermail/src/outbound.rs b/filtermail/src/outbound.rs index 37858c34..da7381be 100644 --- a/filtermail/src/outbound.rs +++ b/filtermail/src/outbound.rs @@ -10,11 +10,10 @@ use async_trait::async_trait; use governor::{DefaultKeyedRateLimiter, Quota, RateLimiter}; use lettre::{AsyncSmtpTransport, AsyncTransport, Tokio1Executor}; use mailparse::{MailHeaderMap, parse_mail}; -use std::sync::Arc; /// Handler for outgoing SMTP messages. pub struct OutgoingBeforeQueueHandler { - config: Arc, + config: Config, send_rate_limiter: DefaultKeyedRateLimiter, } @@ -23,7 +22,7 @@ impl OutgoingBeforeQueueHandler { let quota = Quota::per_minute(config.max_user_send_per_minute) .allow_burst(config.max_user_send_burst_size); Self { - config: Arc::new(config), + config, send_rate_limiter: RateLimiter::keyed(quota), } }