Remove MinMaxAvgScalarEventBatchGen
This commit is contained in:
@@ -6,7 +6,7 @@ use crate::binned::{
|
|||||||
FilterFittingInside, MinMaxAvgAggregator, MinMaxAvgBins, NumOps, RangeCompletableItem, RangeOverlapInfo, ReadPbv,
|
FilterFittingInside, MinMaxAvgAggregator, MinMaxAvgBins, NumOps, RangeCompletableItem, RangeOverlapInfo, ReadPbv,
|
||||||
ReadableFromFile, SingleXBinAggregator,
|
ReadableFromFile, SingleXBinAggregator,
|
||||||
};
|
};
|
||||||
use crate::decode::{EventValues, MinMaxAvgScalarEventBatchGen};
|
use crate::decode::EventValues;
|
||||||
use crate::frame::makeframe::Framable;
|
use crate::frame::makeframe::Framable;
|
||||||
use crate::Sitemty;
|
use crate::Sitemty;
|
||||||
use err::Error;
|
use err::Error;
|
||||||
@@ -25,11 +25,6 @@ pub struct DefaultBinsTimeBinner<NTY> {
|
|||||||
_m1: PhantomData<NTY>,
|
_m1: PhantomData<NTY>,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait Aggregator3Tdim {
|
|
||||||
type InputValue;
|
|
||||||
type OutputValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
pub trait TimeBinnableTypeAggregator: Send {
|
pub trait TimeBinnableTypeAggregator: Send {
|
||||||
type Input: TimeBinnableType;
|
type Input: TimeBinnableType;
|
||||||
type Output: TimeBinnableType;
|
type Output: TimeBinnableType;
|
||||||
@@ -218,57 +213,3 @@ where
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct MinMaxAvgScalarEventBatchGenAggregator<NTY>
|
|
||||||
where
|
|
||||||
NTY: NumOps,
|
|
||||||
{
|
|
||||||
_m1: PhantomData<NTY>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY> TimeBinnableTypeAggregator for MinMaxAvgScalarEventBatchGenAggregator<NTY>
|
|
||||||
where
|
|
||||||
NTY: NumOps,
|
|
||||||
{
|
|
||||||
type Input = MinMaxAvgScalarEventBatchGen<NTY>;
|
|
||||||
type Output = MinMaxAvgScalarEventBatchGen<NTY>;
|
|
||||||
|
|
||||||
fn range(&self) -> &NanoRange {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn ingest(&mut self, item: &Self::Input) {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn result(self) -> Self::Output {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY> ReadableFromFile for MinMaxAvgScalarEventBatchGen<NTY>
|
|
||||||
where
|
|
||||||
NTY: NumOps,
|
|
||||||
{
|
|
||||||
fn read_from_file(file: File) -> Result<ReadPbv<Self>, Error> {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn from_buf(buf: &[u8]) -> Result<Self, Error> {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO this is just dummy, do I use this in the refactored code?
|
|
||||||
impl<NTY> TimeBinnableType for MinMaxAvgScalarEventBatchGen<NTY>
|
|
||||||
where
|
|
||||||
NTY: NumOps,
|
|
||||||
{
|
|
||||||
// TODO Output is just dummy, because this type is probably unused anyways.
|
|
||||||
type Output = MinMaxAvgScalarEventBatchGen<NTY>;
|
|
||||||
type Aggregator = MinMaxAvgScalarEventBatchGenAggregator<NTY>;
|
|
||||||
|
|
||||||
fn aggregator(range: NanoRange) -> Self::Aggregator {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use crate::binned::{
|
|||||||
EventsNodeProcessor, FilterFittingInside, MinMaxAvgBins, NumOps, PushableIndex, RangeOverlapInfo, ReadPbv,
|
EventsNodeProcessor, FilterFittingInside, MinMaxAvgBins, NumOps, PushableIndex, RangeOverlapInfo, ReadPbv,
|
||||||
ReadableFromFile, WithLen, WithTimestamps,
|
ReadableFromFile, WithLen, WithTimestamps,
|
||||||
};
|
};
|
||||||
use crate::decode::{EventValues, MinMaxAvgScalarEventBatchGen};
|
use crate::decode::EventValues;
|
||||||
use err::Error;
|
use err::Error;
|
||||||
use netpod::NanoRange;
|
use netpod::NanoRange;
|
||||||
use serde::de::DeserializeOwned;
|
use serde::de::DeserializeOwned;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ use crate::binned::{EventsNodeProcessor, NumOps, PushableIndex, RangeCompletable
|
|||||||
use crate::cache::node_ix_for_patch;
|
use crate::cache::node_ix_for_patch;
|
||||||
use crate::decode::{
|
use crate::decode::{
|
||||||
BigEndian, Endianness, EventValueFromBytes, EventValueShape, EventValuesDim0Case, EventValuesDim1Case,
|
BigEndian, Endianness, EventValueFromBytes, EventValueShape, EventValuesDim0Case, EventValuesDim1Case,
|
||||||
LittleEndian, NumFromBytes, ProcAA, ProcBB,
|
LittleEndian, NumFromBytes,
|
||||||
};
|
};
|
||||||
use crate::frame::makeframe::{Framable, FrameType};
|
use crate::frame::makeframe::{Framable, FrameType};
|
||||||
use crate::Sitemty;
|
use crate::Sitemty;
|
||||||
|
|||||||
@@ -119,36 +119,13 @@ impl<NTY> EventValuesDim0Case<NTY> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO get rid of this dummy:
|
|
||||||
pub struct ProcAA<NTY> {
|
|
||||||
_m1: PhantomData<NTY>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY> EventsNodeProcessor for ProcAA<NTY>
|
|
||||||
where
|
|
||||||
NTY: NumOps,
|
|
||||||
{
|
|
||||||
type Input = NTY;
|
|
||||||
type Output = EventValues<NTY>;
|
|
||||||
|
|
||||||
fn process(_inp: EventValues<Self::Input>) -> Self::Output {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY, END> EventValueShape<NTY, END> for EventValuesDim0Case<NTY>
|
impl<NTY, END> EventValueShape<NTY, END> for EventValuesDim0Case<NTY>
|
||||||
where
|
where
|
||||||
NTY: NumOps + NumFromBytes<NTY, END>,
|
NTY: NumOps + NumFromBytes<NTY, END>,
|
||||||
{
|
{
|
||||||
type NumXAggToSingleBin = Identity<NTY>;
|
type NumXAggToSingleBin = Identity<NTY>;
|
||||||
// TODO:
|
// TODO is this sufficient?
|
||||||
type NumXAggToNBins = ProcAA<NTY>;
|
type NumXAggToNBins = Identity<NTY>;
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY> WithTimestamps for ProcAA<NTY> {
|
|
||||||
fn ts(&self, ix: usize) -> u64 {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct EventValuesDim1Case<NTY> {
|
pub struct EventValuesDim1Case<NTY> {
|
||||||
@@ -162,118 +139,13 @@ impl<NTY> EventValuesDim1Case<NTY> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct ProcBB<NTY> {
|
|
||||||
_m1: PhantomData<NTY>,
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO still in use or can go away?
|
|
||||||
#[derive(Serialize, Deserialize)]
|
|
||||||
pub struct MinMaxAvgScalarEventBatchGen<NTY> {
|
|
||||||
pub tss: Vec<u64>,
|
|
||||||
pub mins: Vec<Option<NTY>>,
|
|
||||||
pub maxs: Vec<Option<NTY>>,
|
|
||||||
pub avgs: Vec<Option<f32>>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY> MinMaxAvgScalarEventBatchGen<NTY>
|
|
||||||
where
|
|
||||||
NTY: NumOps,
|
|
||||||
{
|
|
||||||
pub fn empty() -> Self {
|
|
||||||
Self {
|
|
||||||
tss: vec![],
|
|
||||||
mins: vec![],
|
|
||||||
maxs: vec![],
|
|
||||||
avgs: vec![],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY> WithTimestamps for MinMaxAvgScalarEventBatchGen<NTY>
|
|
||||||
where
|
|
||||||
NTY: NumOps,
|
|
||||||
{
|
|
||||||
fn ts(&self, ix: usize) -> u64 {
|
|
||||||
self.tss[ix]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY> FilterFittingInside for MinMaxAvgScalarEventBatchGen<NTY>
|
|
||||||
where
|
|
||||||
NTY: NumOps,
|
|
||||||
{
|
|
||||||
fn filter_fitting_inside(self, fit_range: NanoRange) -> Option<Self> {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY> WithLen for MinMaxAvgScalarEventBatchGen<NTY>
|
|
||||||
where
|
|
||||||
NTY: NumOps,
|
|
||||||
{
|
|
||||||
fn len(&self) -> usize {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY> Appendable for MinMaxAvgScalarEventBatchGen<NTY>
|
|
||||||
where
|
|
||||||
NTY: NumOps,
|
|
||||||
{
|
|
||||||
fn empty() -> Self {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn append(&mut self, src: &Self) {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY> RangeOverlapInfo for MinMaxAvgScalarEventBatchGen<NTY>
|
|
||||||
where
|
|
||||||
NTY: NumOps,
|
|
||||||
{
|
|
||||||
fn ends_before(&self, range: NanoRange) -> bool {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn ends_after(&self, range: NanoRange) -> bool {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn starts_after(&self, range: NanoRange) -> bool {
|
|
||||||
todo!()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY> Framable for Result<StreamItem<RangeCompletableItem<MinMaxAvgScalarEventBatchGen<NTY>>>, Error>
|
|
||||||
where
|
|
||||||
NTY: NumOps + Serialize,
|
|
||||||
{
|
|
||||||
fn make_frame(&self) -> Result<BytesMut, Error> {
|
|
||||||
make_frame(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY> EventsNodeProcessor for ProcBB<NTY>
|
|
||||||
where
|
|
||||||
NTY: NumOps,
|
|
||||||
{
|
|
||||||
type Input = Vec<NTY>;
|
|
||||||
type Output = MinMaxAvgScalarEventBatchGen<NTY>;
|
|
||||||
|
|
||||||
fn process(inp: EventValues<Self::Input>) -> Self::Output {
|
|
||||||
err::todoval()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY, END> EventValueShape<NTY, END> for EventValuesDim1Case<NTY>
|
impl<NTY, END> EventValueShape<NTY, END> for EventValuesDim1Case<NTY>
|
||||||
where
|
where
|
||||||
NTY: NumOps + NumFromBytes<NTY, END>,
|
NTY: NumOps + NumFromBytes<NTY, END>,
|
||||||
{
|
{
|
||||||
type NumXAggToSingleBin = WaveXBinner<NTY>;
|
type NumXAggToSingleBin = WaveXBinner<NTY>;
|
||||||
// TODO:
|
// TODO implement this method:
|
||||||
type NumXAggToNBins = ProcBB<NTY>;
|
type NumXAggToNBins = WaveXBinner<NTY>;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO add pulse.
|
// TODO add pulse.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ use crate::agg::eventbatch::MinMaxAvgScalarEventBatch;
|
|||||||
use crate::agg::scalarbinbatch::MinMaxAvgScalarBinBatch;
|
use crate::agg::scalarbinbatch::MinMaxAvgScalarBinBatch;
|
||||||
use crate::agg::streams::StreamItem;
|
use crate::agg::streams::StreamItem;
|
||||||
use crate::binned::{MinMaxAvgBins, NumOps, RangeCompletableItem};
|
use crate::binned::{MinMaxAvgBins, NumOps, RangeCompletableItem};
|
||||||
use crate::decode::{EventValues, MinMaxAvgScalarEventBatchGen};
|
use crate::decode::EventValues;
|
||||||
use crate::frame::inmem::InMemoryFrame;
|
use crate::frame::inmem::InMemoryFrame;
|
||||||
use crate::raw::EventQueryJsonStringFrame;
|
use crate::raw::EventQueryJsonStringFrame;
|
||||||
use crate::Sitemty;
|
use crate::Sitemty;
|
||||||
@@ -76,13 +76,6 @@ impl FrameType for Sitemty<MinMaxAvgScalarEventBatch> {
|
|||||||
const FRAME_TYPE_ID: u32 = 0x300;
|
const FRAME_TYPE_ID: u32 = 0x300;
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<NTY> FrameType for Sitemty<MinMaxAvgScalarEventBatchGen<NTY>>
|
|
||||||
where
|
|
||||||
NTY: NumOps,
|
|
||||||
{
|
|
||||||
const FRAME_TYPE_ID: u32 = 0x400 + NTY::SUB;
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<NTY> FrameType for Sitemty<EventValues<NTY>>
|
impl<NTY> FrameType for Sitemty<EventValues<NTY>>
|
||||||
where
|
where
|
||||||
NTY: NumOps,
|
NTY: NumOps,
|
||||||
|
|||||||
Reference in New Issue
Block a user