use std::{
pin::Pin,
task::{Context, Poll},
};
use futures::{Stream, StreamExt};
use tonic::{Status, Streaming};
pub struct ResponseStream<T> {
pub stream: Streaming<T>,
}
impl<T> Stream for ResponseStream<T> {
type Item = Result<T, Status>;
fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> {
self.stream.poll_next_unpin(cx)
}
}