behavior_actors/atomic/dynamic_supervisor/
diagnostic.rs1use behavior::{Behavior, BehaviorAddr, ChildReport, EndpointAddress};
4
5use crate::atomic::ProxyDiagnostic;
6use crate::atomic::proxy_creation::StableProxyCreationSettlement;
7use crate::{
8 ActivationPlan, ChildStopped, ProxyInputResult, ProxyOutcome, StableProxy, WorkerSubmission,
9};
10
11pub enum DynamicDiagnostic<Key, Worker, Plan>
13where
14 Worker: Behavior,
15 Plan: ActivationPlan,
16 BehaviorAddr<Worker>: EndpointAddress,
17 StableProxy<Worker, Plan>: Behavior<Protocol = Worker::Protocol>,
18{
19 RejectedInput {
20 key: Key,
21 submission: WorkerSubmission<Worker, Plan>,
22 },
23 RejectedProxyOutcome {
24 report: ChildReport<ProxyOutcome<Worker, Plan>>,
25 },
26 ProxyDiagnosticReported {
27 report: ChildReport<ProxyDiagnostic<Worker, Plan>>,
28 },
29 ProxyInputRejected {
30 key: Key,
31 generation: u64,
32 input: ProxyInputResult<behavior::Here, Worker, Plan>,
33 },
34 ProxyCreationRejected {
35 key: Key,
36 generation: u64,
37 creation: StableProxyCreationSettlement<Worker, Plan>,
38 },
39 ProxyShutdownRejected {
40 key: Key,
41 generation: u64,
42 input: ProxyInputResult<behavior::Here, Worker, Plan>,
43 },
44 RejectedProxyStop {
45 stopped: ChildStopped<BehaviorAddr<Worker>>,
46 },
47}