Client Streaming
let mut client = TaskServiceClient::new(channel);
let requests = vec![
LogEntry { message: "line 1".to_string() },
LogEntry { message: "line 2".to_string() },
];
let response = client
.upload_logs(tokio_stream::iter(requests))
.await?;
println!("uploaded: {:?}", response.into_inner());
tokio_stream::iter wraps any IntoIterator as a stream. For real streaming, use tokio::sync::mpsc with tokio_stream::wrappers::ReceiverStream.