devtools/actors/
reflow.rs1use serde_json::{Map, Value};
8
9use crate::actor::{Actor, ActorError, ActorRegistry};
10use crate::protocol::ClientRequest;
11use crate::{EmptyReplyMsg, StreamId};
12
13pub struct ReflowActor {
14    name: String,
15}
16
17impl Actor for ReflowActor {
18    fn name(&self) -> String {
19        self.name.clone()
20    }
21
22    fn handle_message(
26        &self,
27        request: ClientRequest,
28        _registry: &ActorRegistry,
29        msg_type: &str,
30        _msg: &Map<String, Value>,
31        _id: StreamId,
32    ) -> Result<(), ActorError> {
33        match msg_type {
34            "start" => {
35                let msg = EmptyReplyMsg { from: self.name() };
37                request.reply_final(&msg)?
38            },
39            _ => return Err(ActorError::UnrecognizedPacketType),
40        };
41        Ok(())
42    }
43
44    fn cleanup(&self, _id: StreamId) {}
45}
46
47impl ReflowActor {
48    pub fn new(name: String) -> Self {
49        Self { name }
50    }
51}