diff --git a/examples/client.rs b/examples/client.rs index da7847b..14a1484 100644 --- a/examples/client.rs +++ b/examples/client.rs @@ -6,9 +6,9 @@ struct Data; impl Method for Data { const NAME: &'static str = "data"; - type Request = (); - type Response = (); - type Error = (); + type Request = String; + type Response = String; + type Error = String; } #[tokio::main(flavor = "current_thread")] @@ -17,15 +17,19 @@ async fn main() -> session_rs::Result<()> { session.start_receiver(); - println!("{:?}", session.request::(()).await?); + println!( + "Hi: {:?}", + session + .request::("Hello from client".to_string()) + .await? + ); - session - .on::(async |i, d| { - println!("Ok {i} {d:?}"); - - Ok(()) - }) - .await; + println!( + "Invalid data response: {:?}", + session + .request::("invalid_data".to_string()) + .await? + ); tokio::time::sleep(tokio::time::Duration::from_millis(1000)).await; diff --git a/examples/server.rs b/examples/server.rs index 770f39d..0d6fb8e 100644 --- a/examples/server.rs +++ b/examples/server.rs @@ -8,9 +8,9 @@ struct Data; impl Method for Data { const NAME: &'static str = "data"; - type Request = (); - type Response = (); - type Error = (); + type Request = String; + type Response = String; + type Error = String; } #[tokio::main(flavor = "current_thread")] @@ -32,7 +32,17 @@ async fn main() -> session_rs::Result<()> { session.start_receiver(); - session.on::(async |_, _| Ok(())).await; + session + .on::(async |_, req| { + println!("Msg from client: {req}"); + + if req == "invalid_data" { + return Err("Invalid data".to_string()); + } + + Ok("Hello from server".to_string()) + }) + .await; }); } }