couchbase_core/results/
analytics.rs1use crate::analyticsx::query_respreader::QueryRespReader;
20use crate::analyticsx::query_result::MetaData;
21use crate::error;
22use bytes::Bytes;
23use futures::StreamExt;
24use futures_core::Stream;
25
26pub struct AnalyticsResultStream {
27 pub(crate) inner: QueryRespReader,
28 pub(crate) endpoint: String,
29}
30
31impl AnalyticsResultStream {
32 pub fn endpoint(&self) -> &str {
33 &self.endpoint
34 }
35
36 pub fn metadata(&self) -> error::Result<&MetaData> {
37 self.inner.metadata().map_err(|e| e.into())
38 }
39}
40
41impl Stream for AnalyticsResultStream {
42 type Item = error::Result<Bytes>;
43
44 fn poll_next(
45 mut self: std::pin::Pin<&mut Self>,
46 cx: &mut std::task::Context<'_>,
47 ) -> std::task::Poll<Option<Self::Item>> {
48 self.inner.poll_next_unpin(cx).map_err(|e| e.into())
49 }
50}