Node

Trait Node 

Source
pub trait Node {
    type Port: Clone;
    type Meta: Default;
    type InstantiateEnv;

    // Required methods
    fn next_port(&self) -> Self::Port;
    fn update_meta(&self, meta: &Self::Meta);
    fn instantiate(
        &self,
        env: &mut Self::InstantiateEnv,
        meta: &mut Self::Meta,
        graph: DfirGraph,
        extra_stmts: Vec<Stmt>,
    );
}
Available on crate feature build only.

Required Associated Types§

Source

type Port: Clone

A logical communication endpoint for this node.

Implementors are free to choose the concrete representation (for example, a handle or identifier), but it must be Clone so that a single logical port can be duplicated and passed to multiple consumers. New ports are allocated via Self::next_port.

Source

type Meta: Default

Source

type InstantiateEnv

Required Methods§

Source

fn next_port(&self) -> Self::Port

Allocates and returns a new port.

Source

fn update_meta(&self, meta: &Self::Meta)

Source

fn instantiate( &self, env: &mut Self::InstantiateEnv, meta: &mut Self::Meta, graph: DfirGraph, extra_stmts: Vec<Stmt>, )

Implementors§

Source§

impl Node for DeployCluster

Available on crate feature deploy only.
Source§

impl Node for DeployExternal

Available on crate feature deploy only.
Source§

impl Node for DeployNode

Available on crate feature deploy only.
Source§

impl Node for DockerDeployCluster

Available on crate features docker_deploy and deploy only.
Source§

impl Node for DockerDeployExternal

Available on crate features docker_deploy and deploy only.
Source§

impl Node for DockerDeployProcess

Available on crate features docker_deploy and deploy only.
Source§

impl Node for DockerDeployClusterEcs

Available on crate features ecs_deploy and deploy only.
Source§

impl Node for DockerDeployExternalEcs

Available on crate features ecs_deploy and deploy only.
Source§

impl Node for DockerDeployProcessEcs

Available on crate features ecs_deploy and deploy only.