pipebase 0.2.0

A tokio based runtime library for data integration app
Documentation
mod bag;
mod runtime;
mod set;
mod text;
mod window;
pub use bag::*;
pub use runtime::*;
pub use set::*;
pub use text::*;
pub use window::*;

use crate::common::FromConfig;

use async_trait::async_trait;
use tokio::time::Interval;

#[async_trait]
pub trait Collect<T, U, C>: Send + FromConfig<C> {
    async fn collect(&mut self, t: T) -> anyhow::Result<()>;
    async fn flush(&mut self) -> anyhow::Result<Option<U>>;
    fn get_flush_interval(&self) -> Interval;
}