futuresdr_types/
description.rs1use serde::Deserialize;
2use serde::Serialize;
3
4use crate::BlockId;
5use crate::PortId;
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
11pub struct FlowgraphDescription {
12 pub blocks: Vec<BlockDescription>,
14 pub stream_edges: Vec<(BlockId, PortId, BlockId, PortId)>,
16 pub message_edges: Vec<(BlockId, PortId, BlockId, PortId)>,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize)]
24pub struct BlockDescription {
25 pub id: BlockId,
27 pub type_name: String,
29 pub instance_name: String,
31 pub stream_inputs: Vec<String>,
33 pub stream_outputs: Vec<String>,
35 pub message_inputs: Vec<String>,
37 pub message_outputs: Vec<String>,
39 pub blocking: bool,
44}