dope_runtime/executor/drain/
mod.rs1use crate::shutdown;
2
3mod run;
4
5pub(crate) use run::Run;
6
7#[derive(Clone, Copy, Eq, PartialEq)]
8pub enum Outcome {
9 Quiesced,
10 Forced,
11}
12
13#[must_use]
14pub struct Report<Q> {
15 request: shutdown::Requested<Q>,
16 outcome: Outcome,
17}
18
19impl<Q> Report<Q> {
20 pub(crate) const fn new(request: shutdown::Requested<Q>, outcome: Outcome) -> Self {
21 Self { request, outcome }
22 }
23
24 pub const fn outcome(&self) -> Outcome {
25 self.outcome
26 }
27
28 pub fn into_parts(self) -> (shutdown::Requested<Q>, Outcome) {
29 (self.request, self.outcome)
30 }
31}