Clearable
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
use crate::eventchunker::EventFull;
|
||||
use crate::mergeblobs::MergedBlobsStream;
|
||||
use crate::merge::MergedStream;
|
||||
use crate::raw::client::x_processed_event_blobs_stream_from_node;
|
||||
use err::Error;
|
||||
use futures_core::Stream;
|
||||
use futures_util::{pin_mut, StreamExt};
|
||||
use items::Sitemty;
|
||||
use netpod::log::*;
|
||||
use netpod::query::RawEventsQuery;
|
||||
use netpod::{log::*, NanoRange};
|
||||
use netpod::{Cluster, PerfOpts};
|
||||
use std::future::Future;
|
||||
use std::pin::Pin;
|
||||
@@ -21,6 +21,8 @@ pub struct MergedBlobsFromRemotes {
|
||||
merged: Option<T001<EventFull>>,
|
||||
completed: bool,
|
||||
errored: bool,
|
||||
range: NanoRange,
|
||||
expand: bool,
|
||||
}
|
||||
|
||||
impl MergedBlobsFromRemotes {
|
||||
@@ -39,6 +41,8 @@ impl MergedBlobsFromRemotes {
|
||||
merged: None,
|
||||
completed: false,
|
||||
errored: false,
|
||||
range: evq.range.clone(),
|
||||
expand: evq.agg_kind.need_expand(),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -95,7 +99,7 @@ impl Stream for MergedBlobsFromRemotes {
|
||||
} else {
|
||||
if c1 == self.tcp_establish_futs.len() {
|
||||
let inps: Vec<_> = self.nodein.iter_mut().map(|k| k.take().unwrap()).collect();
|
||||
let s1 = MergedBlobsStream::new(inps);
|
||||
let s1 = MergedStream::new(inps, self.range.clone(), self.expand);
|
||||
self.merged = Some(Box::pin(s1));
|
||||
}
|
||||
continue 'outer;
|
||||
|
||||
@@ -3,9 +3,9 @@ use crate::raw::client::x_processed_stream_from_node;
|
||||
use err::Error;
|
||||
use futures_core::Stream;
|
||||
use futures_util::{pin_mut, StreamExt};
|
||||
use items::{Appendable, EventsNodeProcessor, FrameType, PushableIndex, Sitemty};
|
||||
use netpod::log::*;
|
||||
use items::{Appendable, Clearable, EventsNodeProcessor, FrameType, PushableIndex, Sitemty};
|
||||
use netpod::query::RawEventsQuery;
|
||||
use netpod::{log::*, NanoRange};
|
||||
use netpod::{Cluster, PerfOpts};
|
||||
use std::future::Future;
|
||||
use std::pin::Pin;
|
||||
@@ -23,13 +23,14 @@ where
|
||||
merged: Option<T001<<ENP as EventsNodeProcessor>::Output>>,
|
||||
completed: bool,
|
||||
errored: bool,
|
||||
range: NanoRange,
|
||||
expand: bool,
|
||||
}
|
||||
|
||||
impl<ENP> MergedFromRemotes<ENP>
|
||||
where
|
||||
ENP: EventsNodeProcessor + 'static,
|
||||
<ENP as EventsNodeProcessor>::Output: 'static,
|
||||
<ENP as EventsNodeProcessor>::Output: Unpin,
|
||||
<ENP as EventsNodeProcessor>::Output: Unpin + PushableIndex + Appendable + Clearable + 'static,
|
||||
Sitemty<<ENP as EventsNodeProcessor>::Output>: FrameType,
|
||||
{
|
||||
pub fn new(evq: RawEventsQuery, perf_opts: PerfOpts, cluster: Cluster) -> Self {
|
||||
@@ -47,6 +48,8 @@ where
|
||||
merged: None,
|
||||
completed: false,
|
||||
errored: false,
|
||||
range: evq.range.clone(),
|
||||
expand: evq.agg_kind.need_expand(),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -54,7 +57,7 @@ where
|
||||
impl<ENP> Stream for MergedFromRemotes<ENP>
|
||||
where
|
||||
ENP: EventsNodeProcessor + 'static,
|
||||
<ENP as EventsNodeProcessor>::Output: PushableIndex + Appendable,
|
||||
<ENP as EventsNodeProcessor>::Output: PushableIndex + Appendable + Clearable,
|
||||
{
|
||||
type Item = Sitemty<<ENP as EventsNodeProcessor>::Output>;
|
||||
|
||||
@@ -107,7 +110,11 @@ where
|
||||
} else {
|
||||
if c1 == self.tcp_establish_futs.len() {
|
||||
let inps: Vec<_> = self.nodein.iter_mut().map(|k| k.take().unwrap()).collect();
|
||||
let s1 = MergedStream::<_, ENP>::new(inps);
|
||||
let s1 = MergedStream::<_, <ENP as EventsNodeProcessor>::Output>::new(
|
||||
inps,
|
||||
self.range.clone(),
|
||||
self.expand,
|
||||
);
|
||||
self.merged = Some(Box::pin(s1));
|
||||
}
|
||||
continue 'outer;
|
||||
|
||||
Reference in New Issue
Block a user