xref: /aosp_15_r20/tools/netsim/rust/frontend/src/netsim_test_client.rs (revision cf78ab8cffb8fc9207af348f23af247fb04370a6)
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()10 fn 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