xref: /tonic/examples/src/streaming/client.rs (revision bbcacd06)
1 pub mod pb {
2     tonic::include_proto!("grpc.examples.echo");
3 }
4 
5 use pb::{echo_client::EchoClient, EchoRequest};
6 
7 #[tokio::main]
8 async fn main() -> Result<(), Box<dyn std::error::Error>> {
9     let mut client = EchoClient::connect("http://[::1]:50051").await.unwrap();
10 
11     let stream = client
12         .server_streaming_echo(EchoRequest {
13             message: "foo".into(),
14         })
15         .await
16         .unwrap();
17 
18     println!("Connected...now sleeping for 2 seconds...");
19 
20     tokio::time::sleep(std::time::Duration::from_secs(2)).await;
21 
22     // Disconnect
23     drop(stream);
24     drop(client);
25 
26     println!("Disconnected...");
27 
28     Ok(())
29 }
30