Use synchronous tcp to transfer data
Examples
``` use lrpc::*;
#[derive(CommonStore, Debug)] struct Point(i32, i32);
#[derive(CommonStore, Debug)] struct Circle { center: Point, radius: u32, }
#[fmtfunction] fn newcircle(p: Point, r: u32) -> Circle { Circle { center: p, radius: r, } }
#[fmtfunction] fn circlearea(c: Circle) -> f64 { let fradius = c.radius as f64; fradius * f_radius * 3.14159 }
fn main() { let mut srvfun = Fun::new(); srvfun.regist("newcircle", newcircle); srvfun.regist("circlearea", circle_area);
//start service
std::thread::spawn(move || {
service(srv_fun, "0.0.0.0:9009");
});
std::thread::sleep(std::time::Duration::from_millis(10));
let mut conn = Connection::new("127.0.0.1:9009");
let circle: Result<Circle> = conn.invoke(fun!("new_circle", Point(400, 300), 100));
if let Ok(circle) = circle {
println!("{:?}", circle);
let area: Result<f64> = conn.invoke(fun!("circle_area", circle));
println!("{:?}", area);
}
} ```