pub async fn call_server_streaming(
req: &RequestMessage,
tls: Option<TlsConfig>,
) -> Result<StreamingResponse>
Expand description
Creates a new gRPC
client and sends a message to a gRPC
server.
This method is async.
ยงErrors
- Internal error calling the
gRPC
server
Examples found in repository?
examples/streaming.rs (line 25)
9async fn main() -> Result<()> {
10 let desc = ProtoDescriptor::new(
11 vec!["/Users/philippreiter/Rust/wireman/example/server/streaming"],
12 vec!["streaming.proto"],
13 )?;
14
15 let service = &desc.get_services()[0];
16 let method = &desc.get_methods(service)[0];
17
18 if !method.is_server_streaming() {
19 println!("Method must be server streaming");
20 }
21
22 let mut request = desc.get_request(&method);
23 request.set_address("http://localhost:50051");
24
25 let response = call_server_streaming(&request, None).await?;
26
27 let mut pinned = std::pin::pin!(response);
28 let stream = pinned.as_mut().get_mut();
29
30 while let Some(message) = stream.next().await {
31 let message = message?;
32 println!("message: {:?}", message.message);
33 println!();
34 }
35
36 Ok(())
37}