tusk_data 0.0.1

Data types for monitoring with Tusk
Documentation
/// Contains methods to generate new time series.

use super::{Number, RawTimeSeries, Interval};

pub trait Generate {
	fn generate(&self) -> RawTimeSeries;
}

/// GenOps are operations that generate a new time series.
#[derive(Serialize, Deserialize, Clone, Debug)]
pub enum GenOps {
    Static(Number),
    Wave(Wave),
}

/// The different types of waves that can be
/// automatically generated
#[derive(Serialize, Deserialize, Clone, Debug)]
pub enum WaveType {
    Square,
    Triangle,
    Sine,
    Sawtooth,
}

#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct Wave {
    pub frequency: Interval,
    pub wave_type: WaveType,
    pub amplitude: Number,
}