springql 0.18.1

SpringQL: Open-source stream processor for IoT devices and in-vehicle computers
Documentation
// This file is part of https://github.com/SpringQL/SpringQL which is licensed under MIT OR Apache-2.0. See file LICENSE-MIT or LICENSE-APACHE for full license details.

use serde::Deserialize;

#[derive(Debug, Clone, PartialEq, Deserialize)]
pub struct PostTaskGraphBody {
    pub tasks: Vec<TaskRequest>,
    pub queues: Vec<QueueRequest>,
}

#[derive(Clone, PartialEq, Debug, Deserialize)]
pub struct TaskRequest {
    pub id: String,
    #[serde(rename = "type")]
    pub type_: String,
    #[serde(rename = "avg-gain-bytes-per-sec")]
    pub avg_gain_bytes_per_sec: f32,
}

#[derive(Clone, PartialEq, Eq, Debug, Deserialize)]
pub struct QueueRequest {
    pub id: String,
    #[serde(rename = "upstream-task-id")]
    pub upstream_task_id: String,
    #[serde(rename = "downstream-task-id")]
    pub downstream_task_id: String,

    #[serde(rename = "row-queue")]
    pub row_queue: Option<RowQueueRequest>,
    #[serde(rename = "window-queue")]
    pub window_queue: Option<WindowQueueRequest>,
}

#[derive(Clone, PartialEq, Eq, Debug, Deserialize)]
pub struct RowQueueRequest {
    #[serde(rename = "num-rows")]
    pub num_rows: u64,
    #[serde(rename = "total-bytes")]
    pub total_bytes: u64,
}

#[derive(Clone, PartialEq, Eq, Debug, Deserialize)]
pub struct WindowQueueRequest {
    #[serde(rename = "num-rows-waiting")]
    pub num_rows_waiting: u64,
    #[serde(rename = "total-bytes")]
    pub total_bytes: u64,
}