pub trait DescriptorExt {
// Required methods
fn resolve_aliases_and_set_defaults(
&self,
) -> Result<BTreeMap<NodeId, ResolvedNode>>;
fn visualize_as_mermaid_with_boundaries(
&self,
boundaries: &ModuleBoundaries,
) -> Result<String>;
fn apply_exit_when_nodes_finish(&mut self, over: Option<bool>);
fn blocking_read(path: &Path) -> Result<Descriptor>;
fn parse(buf: Vec<u8>) -> Result<Descriptor>;
fn check(&self, working_dir: &Path) -> Result<()>;
fn expand(&self, working_dir: &Path) -> Result<Descriptor>;
fn expand_with_boundaries(
&self,
working_dir: &Path,
) -> Result<(Descriptor, ModuleBoundaries)>;
}Required Methods§
fn resolve_aliases_and_set_defaults( &self, ) -> Result<BTreeMap<NodeId, ResolvedNode>>
fn visualize_as_mermaid_with_boundaries( &self, boundaries: &ModuleBoundaries, ) -> Result<String>
Sourcefn apply_exit_when_nodes_finish(&mut self, over: Option<bool>)
fn apply_exit_when_nodes_finish(&mut self, over: Option<bool>)
Apply a command-line override to the dataflow’s completion policy.
None leaves the descriptor’s own exit_when_nodes_finish
alone, so a setting written in the YAML stands; Some(v)
overrides it in either direction, so --exit-when-nodes-finish
can force the policy on and =false can force it off for a
descriptor that asks for it (dora-rs/dora#2920).
Shared rather than spelled out at each call site: dora run,
dora start and the daemon all have to agree, and three copies
of the same three lines is how one of them ends up not being
updated.
fn blocking_read(path: &Path) -> Result<Descriptor>
fn parse(buf: Vec<u8>) -> Result<Descriptor>
fn check(&self, working_dir: &Path) -> Result<()>
Sourcefn expand(&self, working_dir: &Path) -> Result<Descriptor>
fn expand(&self, working_dir: &Path) -> Result<Descriptor>
Expand all module references into flat nodes.
Module nodes are replaced by the inner nodes defined in their module
file. Internal IDs are prefixed with {module_id}. and input/output
wiring is rewritten accordingly.
Sourcefn expand_with_boundaries(
&self,
working_dir: &Path,
) -> Result<(Descriptor, ModuleBoundaries)>
fn expand_with_boundaries( &self, working_dir: &Path, ) -> Result<(Descriptor, ModuleBoundaries)>
Like expand but also returns module boundary metadata
for visualization.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".