aboutsummaryrefslogtreecommitdiff
path: root/rust/frontend/src/netsim_test_client.rs
blob: b65d256e857c1960fc503a94f9244c9bbefbf140 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//! netsim Rust grpc test client

use std::env;
use std::sync::Arc;

use grpcio::{ChannelBuilder, EnvBuilder};
use netsim_common::util::os_utils::get_server_address;
use netsim_proto::frontend_grpc::FrontendServiceClient;

fn main() {
    let args: Vec<String> = env::args().collect();
    let server_addr: String = if args.len() > 1 {
        args[1].to_owned()
    } else {
        match get_server_address(1) {
            Some(addr) => addr,
            None => {
                println!("Unable to get server address.");
                return;
            }
        }
    };
    let env = Arc::new(EnvBuilder::new().build());

    let ch = ChannelBuilder::new(env).connect(&server_addr);
    let client = FrontendServiceClient::new(ch);

    let reply = client.get_version(&::protobuf::well_known_types::empty::Empty::new()).unwrap();
    println!("Version: {}", reply.version);
}