scylla_rs/app/node/
terminating.rs1use super::*;
5
6#[async_trait::async_trait]
7impl Terminating<ClusterHandle> for Node {
8 async fn terminating(
9 &mut self,
10 status: Result<(), Need>,
11 supervisor: &mut Option<ClusterHandle>,
12 ) -> Result<(), Need> {
13 self.service.update_status(ServiceStatus::Stopping);
14 let event = ClusterEvent::Service(self.service.clone());
15 if let Some(supervisor) = supervisor.as_mut() {
16 supervisor.send(event).ok();
17 status
18 } else {
19 Err(Need::Abort)
20 }
21 }
22}