use crate::{
actor::InternalHandler,
message::{AnonymousTaskCancelled, IntoFutureShutdown},
Actor, Ctx,
};
impl<A: Actor> InternalHandler<IntoFutureShutdown<A>> for A {
fn private_handler(&mut self, message: IntoFutureShutdown<A>, context: &mut Ctx<Self>) {
if message.stop_now {
context.subscribe_and_stop(message.tx);
} else {
context.subscribe_and_wait(message.tx);
}
}
}
impl<A: Actor> InternalHandler<AnonymousTaskCancelled> for A {
fn private_handler(&mut self, message: AnonymousTaskCancelled, _: &mut Ctx<Self>) {
use AnonymousTaskCancelled::*;
match message {
Success => {}
Cancel => tracing::trace!(actor = A::name(), private_event = "cancelled"),
Panic => tracing::trace!(actor = A::name(), private_event = "panic"),
}
}
}