This commit is contained in:
Dominik Werder
2023-04-25 19:19:23 +02:00
parent 8add1ddc69
commit 773901939d
20 changed files with 718 additions and 147 deletions

View File

@@ -47,6 +47,10 @@ impl<T> InMemoryFrameAsyncReadStream<T>
where
T: AsyncRead + Unpin,
{
pub fn type_name() -> &'static str {
std::any::type_name::<Self>()
}
pub fn new(inp: T, bufcap: usize) -> Self {
Self {
inp,
@@ -162,7 +166,7 @@ where
let _spanguard = span.enter();
loop {
break if self.complete {
panic!("poll_next on complete")
panic!("{} poll_next on complete", Self::type_name())
} else if self.done {
self.complete = true;
Ready(None)

View File

@@ -8,6 +8,7 @@ use items_0::streamitem::Sitemty;
use items_0::streamitem::StreamItem;
use items_0::Appendable;
use items_0::Empty;
use items_0::WithLen;
use items_2::channelevents::ChannelEvents;
use items_2::eventsdim0::EventsDim0;
use items_2::eventsdim1::EventsDim1;
@@ -243,10 +244,10 @@ impl GenerateF64V00 {
let mut value = Vec::new();
let pi = PI;
for i in 0..21 {
let x = ((-pi + (2. * pi / 20.) * i as f64).cos() + 1.) * ampl;
let x = ((-pi + (2. * pi / 20.) * i as f64).cos() + 1.1) * ampl;
value.push(x);
}
if true {
if false {
info!(
"v01 node {} made event ts {} pulse {} value {:?}",
self.node_ix, ts, pulse, value
@@ -256,6 +257,7 @@ impl GenerateF64V00 {
ts += self.dts;
}
self.ts = ts;
info!("generated len {}", item.len());
let w = ChannelEvents::Events(Box::new(item) as _);
let w = sitem_data(w);
w

View File

@@ -39,14 +39,14 @@ where
S: Stream<Item = Sitemty<ITY>> + Unpin,
ITY: Mergeable,
{
const fn selfname() -> &'static str {
"RangeFilter2"
pub fn type_name() -> &'static str {
std::any::type_name::<Self>()
}
pub fn new(inp: S, range: NanoRange, one_before_range: bool) -> Self {
trace!(
"{}::new range: {:?} one_before_range: {:?}",
Self::selfname(),
info!(
"----------------------------\n------------------------\n------------------------\n{}::new range: {:?} one_before_range: {:?}",
Self::type_name(),
range,
one_before_range
);
@@ -152,7 +152,11 @@ where
use Poll::*;
loop {
break if self.complete {
Ready(Some(Err(Error::with_msg_no_trace("poll_next on complete"))))
error!("{} poll_next on complete", Self::type_name());
Ready(Some(Err(Error::with_msg_no_trace(format!(
"{} poll_next on complete",
Self::type_name()
)))))
} else if self.done {
self.complete = true;
Ready(None)
@@ -219,7 +223,7 @@ where
ITY: Mergeable,
{
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct(Self::selfname()).finish()
f.debug_struct(Self::type_name()).finish()
}
}
@@ -229,6 +233,6 @@ where
ITY: Mergeable,
{
fn drop(&mut self) {
debug!("drop {} {:?}", Self::selfname(), self);
debug!("drop {} {:?}", Self::type_name(), self);
}
}

View File

@@ -167,6 +167,7 @@ where
StreamItem::Stats(item) => Ok(Break(Ready(Ok(StreamItem::Stats(item))))),
},
Err(e) => {
error!("received error item: {e}");
self.done = true;
Err(e)
}
@@ -179,11 +180,11 @@ where
use ControlFlow::*;
use Poll::*;
trace2!("================= handle_none");
let self_range_complete = self.range_final;
let self_range_final = self.range_final;
if let Some(binner) = self.binner.as_mut() {
trace!("bins ready count before finish {}", binner.bins_ready_count());
// TODO rework the finish logic
if self_range_complete {
if self_range_final {
binner.set_range_complete();
}
binner.push_in_progress(false);
@@ -194,6 +195,7 @@ where
} else {
warn!("bins ready but got nothing");
if let Some(bins) = binner.empty() {
self.done_data = true;
Ok(Break(Ready(sitem_data(bins))))
} else {
let e = Error::with_msg_no_trace("bins ready, but nothing, can not even create empty B");
@@ -242,7 +244,7 @@ where
trace2!("================= POLL");
loop {
break if self.complete {
panic!("poll on complete")
panic!("TimeBinnedStream poll on complete")
} else if self.done {
self.complete = true;
Ready(None)