xref: /tonic/examples/src/compression/client.rs (revision a585a722)
10583cff8SDavid Pedersen use hello_world::greeter_client::GreeterClient;
20583cff8SDavid Pedersen use hello_world::HelloRequest;
3*a585a722SMarcus Griep use tonic::codec::CompressionEncoding;
40583cff8SDavid Pedersen use tonic::transport::Channel;
50583cff8SDavid Pedersen 
60583cff8SDavid Pedersen pub mod hello_world {
70583cff8SDavid Pedersen     tonic::include_proto!("helloworld");
80583cff8SDavid Pedersen }
90583cff8SDavid Pedersen 
100583cff8SDavid Pedersen #[tokio::main]
main() -> Result<(), Box<dyn std::error::Error>>110583cff8SDavid Pedersen async fn main() -> Result<(), Box<dyn std::error::Error>> {
120583cff8SDavid Pedersen     let channel = Channel::builder("http://[::1]:50051".parse().unwrap())
130583cff8SDavid Pedersen         .connect()
140583cff8SDavid Pedersen         .await
150583cff8SDavid Pedersen         .unwrap();
160583cff8SDavid Pedersen 
17*a585a722SMarcus Griep     let mut client = GreeterClient::new(channel)
18*a585a722SMarcus Griep         .send_compressed(CompressionEncoding::Gzip)
19*a585a722SMarcus Griep         .accept_compressed(CompressionEncoding::Gzip);
200583cff8SDavid Pedersen 
210583cff8SDavid Pedersen     let request = tonic::Request::new(HelloRequest {
220583cff8SDavid Pedersen         name: "Tonic".into(),
230583cff8SDavid Pedersen     });
240583cff8SDavid Pedersen 
250583cff8SDavid Pedersen     let response = client.say_hello(request).await?;
260583cff8SDavid Pedersen 
270583cff8SDavid Pedersen     dbg!(response);
280583cff8SDavid Pedersen 
290583cff8SDavid Pedersen     Ok(())
300583cff8SDavid Pedersen }
31