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.
30 lines
902 B
Rust
30 lines
902 B
Rust
/*
|
|
* SPDX-FileCopyrightText: 2020 Stalwart Labs LLC <[email protected]>
|
|
*
|
|
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL
|
|
*/
|
|
|
|
use super::{dmarc::DmarcReporting, tls::TlsReporting};
|
|
use common::{BuildServer, Inner, ipc::ReportingEvent};
|
|
use std::sync::Arc;
|
|
use tokio::sync::mpsc;
|
|
|
|
pub trait SpawnReport {
|
|
fn spawn(self, core: Arc<Inner>);
|
|
}
|
|
|
|
impl SpawnReport for mpsc::Receiver<ReportingEvent> {
|
|
fn spawn(mut self, inner: Arc<Inner>) {
|
|
tokio::spawn(async move {
|
|
while let Some(event) = self.recv().await {
|
|
let server = inner.build_server();
|
|
match event {
|
|
ReportingEvent::Dmarc(event) => server.schedule_dmarc(event).await,
|
|
ReportingEvent::Tls(event) => server.schedule_tls(event).await,
|
|
ReportingEvent::Stop => break,
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|