Skip to main content

DescriptorExt

Trait DescriptorExt 

Source
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§

Source

fn resolve_aliases_and_set_defaults( &self, ) -> Result<BTreeMap<NodeId, ResolvedNode>>

Source

fn visualize_as_mermaid_with_boundaries( &self, boundaries: &ModuleBoundaries, ) -> Result<String>

Source

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.

Source

fn blocking_read(path: &Path) -> Result<Descriptor>

Source

fn parse(buf: Vec<u8>) -> Result<Descriptor>

Source

fn check(&self, working_dir: &Path) -> Result<()>

Source

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.

Source

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".

Implementors§