Files
inbuxa-server/crates/smtp/src/lib.rs
T
jcoffey-dev 7dae9b29fd Import upstream v0.16.22, stripped
Upstream commit: 474dd0229cb20cf513036619781ed97bd8073c3f
Enterprise-only files removed or emptied: 63
Enterprise-only snippets removed: 117 in 50 files
Dangling module declarations removed: 5
Cargo edits turning enterprise off: 14
Verification: clean
Enterprise feature gates left for rebuilt features: 19 in 18 files

Produced by tools/fork/strip.py. The full report is in docs/fork/strip-reports/ on main.
2026-09-18 10:21:56 -07:00

50 lines
1.2 KiB
Rust

/*
* SPDX-FileCopyrightText: 2020 Stalwart Labs LLC <[email protected]>
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL
*/
#![warn(clippy::large_futures)]
use common::{
Inner,
manager::boot::{BootManager, IpcReceivers},
};
use queue::manager::SpawnQueue;
use reporting::scheduler::SpawnReport;
use std::sync::Arc;
pub mod core;
pub mod inbound;
pub mod outbound;
pub mod queue;
pub mod reporting;
pub mod scripts;
pub trait StartQueueManager {
fn start_queue_manager(&mut self);
}
pub trait SpawnQueueManager {
fn spawn_queue_manager(&mut self, inner: Arc<Inner>);
}
impl StartQueueManager for BootManager {
fn start_queue_manager(&mut self) {
self.ipc_rxs.spawn_queue_manager(self.inner.clone());
}
}
impl SpawnQueueManager for IpcReceivers {
fn spawn_queue_manager(&mut self, inner: Arc<Inner>) {
let core = inner.shared_core.load();
if !core.storage.registry.is_recovery_mode() && core.network.roles.outbound_mta {
// Spawn queue manager
self.queue_rx.take().unwrap().spawn(inner.clone());
// Spawn report manager
self.report_rx.take().unwrap().spawn(inner);
}
}
}