1
0
distributed-systems-flyio/src/main.rs

30 lines
737 B
Rust
Raw Normal View History

2024-01-01 20:13:11 +00:00
#![allow(special_module_name)]
2024-01-03 07:30:48 +00:00
use std::rc::Rc;
2024-01-01 20:13:11 +00:00
2024-01-02 22:01:13 +00:00
use distributed_systems_flyio::{
2024-01-03 07:30:48 +00:00
types::{EchoMessage, Message},
2024-01-02 22:01:13 +00:00
Malestorm,
};
2024-01-01 20:13:11 +00:00
2024-01-01 19:32:01 +00:00
fn main() {
2024-01-02 22:01:13 +00:00
let mut program = Malestorm::default();
2024-01-03 07:30:48 +00:00
program.register("echo", |mut msg: Message, program: Rc<Malestorm>| {
let message_body: EchoMessage =
serde_json::from_value(msg.body.message_body).expect("error in parsing message body");
2024-01-02 22:01:13 +00:00
2024-01-03 07:30:48 +00:00
msg.body.message_type = "echo_ok".into();
msg.body.message_body = serde_json::to_value(message_body).unwrap();
2024-01-02 22:01:13 +00:00
2024-01-03 07:30:48 +00:00
match program.reply(msg) {
Ok(_) => (),
Err(e) => {
eprintln!("error in writing response: {}", e);
}
}
});
2024-01-02 22:01:13 +00:00
program.run();
2024-01-01 19:32:01 +00:00
}