async_flow/model/block_definition.rs
1// This is free and unencumbered software released into the public domain.
2
3use super::{InputPortId, OutputPortId};
4use alloc::vec::Vec;
5
6pub use dogma::Named as BlockName;
7
8/// A block definition.
9pub trait BlockDefinition: BlockName {
10 fn inputs(&self) -> Vec<InputPortId> {
11 Vec::new()
12 }
13
14 fn outputs(&self) -> Vec<OutputPortId> {
15 Vec::new()
16 }
17}