1 //! netsim Rust grpc test client 2 3 use std::env; 4 use std::sync::Arc; 5 6 use grpcio::{ChannelBuilder, EnvBuilder}; 7 use netsim_common::util::os_utils::get_server_address; 8 use netsim_proto::frontend_grpc::FrontendServiceClient; 9 main()10fn main() { 11 let args: Vec<String> = env::args().collect(); 12 let server_addr: String = if args.len() > 1 { 13 args[1].to_owned() 14 } else { 15 match get_server_address(1) { 16 Some(addr) => addr, 17 None => { 18 println!("Unable to get server address."); 19 return; 20 } 21 } 22 }; 23 let env = Arc::new(EnvBuilder::new().build()); 24 25 let ch = ChannelBuilder::new(env).connect(&server_addr); 26 let client = FrontendServiceClient::new(ch); 27 28 let reply = client.get_version(&::protobuf::well_known_types::empty::Empty::new()).unwrap(); 29 println!("Version: {}", reply.version); 30 } 31