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.
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user