Trait CommandImplementation

Source
pub trait CommandImplementation {
    // Required method
    fn check_instantiability(
        _ctx: &CommandSpecification,
        _args: Vec<Type>,
    ) -> Result<Type, Diagnostic>;

    // Provided methods
    fn post_process_evaluated_inputs(
        _ctx: &CommandSpecification,
        inputs: CommandInputsEvaluationResult,
    ) -> InputsPostProcessingFutureResult { ... }
    fn check_executability(
        _construct_id: &ConstructDid,
        _instance_name: &str,
        _spec: &CommandSpecification,
        _values: &ValueStore,
        _supervision_context: &RunbookSupervisionContext,
    ) -> Result<Actions, Diagnostic> { ... }
    fn run_execution(
        _construct_id: &ConstructDid,
        _spec: &CommandSpecification,
        _values: &ValueStore,
        _progress_tx: &Sender<BlockEvent>,
    ) -> CommandExecutionFutureResult { ... }
    fn check_signed_executability(
        _construct_id: &ConstructDid,
        _instance_name: &str,
        _spec: &CommandSpecification,
        _values: &ValueStore,
        _supervision_context: &RunbookSupervisionContext,
        _signers_instances: &HashMap<ConstructDid, SignerInstance>,
        _signers_state: SignersState,
    ) -> SignerActionsFutureResult { ... }
    fn prepare_signed_nested_execution(
        construct_did: &ConstructDid,
        instance_name: &str,
        _values: &ValueStore,
        _signers_instances: &HashMap<ConstructDid, SignerInstance>,
        signers_state: SignersState,
    ) -> PrepareSignedNestedExecutionResult { ... }
    fn prepare_nested_execution(
        construct_did: &ConstructDid,
        _instance_name: &str,
        _values: &ValueStore,
    ) -> Result<Vec<(ConstructDid, ValueStore)>, Diagnostic> { ... }
    fn aggregate_nested_execution_results(
        _construct_did: &ConstructDid,
        _values: &Vec<(ConstructDid, ValueStore)>,
        nested_results: &Vec<CommandExecutionResult>,
    ) -> Result<CommandExecutionResult, Diagnostic> { ... }
    fn run_signed_execution(
        _construct_id: &ConstructDid,
        _spec: &CommandSpecification,
        _values: &ValueStore,
        _progress_tx: &Sender<BlockEvent>,
        _signers_instances: &HashMap<ConstructDid, SignerInstance>,
        _signers_state: SignersState,
    ) -> SignerSignFutureResult { ... }
    fn build_background_task(
        _construct_did: &ConstructDid,
        _spec: &CommandSpecification,
        _values: &ValueStore,
        _outputs: &ValueStore,
        _progress_tx: &Sender<BlockEvent>,
        _background_tasks_uuid: &Uuid,
        _supervision_context: &RunbookSupervisionContext,
    ) -> CommandExecutionFutureResult { ... }
}

Required Methods§

Provided Methods§

Source

fn post_process_evaluated_inputs( _ctx: &CommandSpecification, inputs: CommandInputsEvaluationResult, ) -> InputsPostProcessingFutureResult

Source

fn check_executability( _construct_id: &ConstructDid, _instance_name: &str, _spec: &CommandSpecification, _values: &ValueStore, _supervision_context: &RunbookSupervisionContext, ) -> Result<Actions, Diagnostic>

Source

fn run_execution( _construct_id: &ConstructDid, _spec: &CommandSpecification, _values: &ValueStore, _progress_tx: &Sender<BlockEvent>, ) -> CommandExecutionFutureResult

Source

fn check_signed_executability( _construct_id: &ConstructDid, _instance_name: &str, _spec: &CommandSpecification, _values: &ValueStore, _supervision_context: &RunbookSupervisionContext, _signers_instances: &HashMap<ConstructDid, SignerInstance>, _signers_state: SignersState, ) -> SignerActionsFutureResult

Source

fn prepare_signed_nested_execution( construct_did: &ConstructDid, instance_name: &str, _values: &ValueStore, _signers_instances: &HashMap<ConstructDid, SignerInstance>, signers_state: SignersState, ) -> PrepareSignedNestedExecutionResult

Source

fn prepare_nested_execution( construct_did: &ConstructDid, _instance_name: &str, _values: &ValueStore, ) -> Result<Vec<(ConstructDid, ValueStore)>, Diagnostic>

Source

fn aggregate_nested_execution_results( _construct_did: &ConstructDid, _values: &Vec<(ConstructDid, ValueStore)>, nested_results: &Vec<CommandExecutionResult>, ) -> Result<CommandExecutionResult, Diagnostic>

Source

fn run_signed_execution( _construct_id: &ConstructDid, _spec: &CommandSpecification, _values: &ValueStore, _progress_tx: &Sender<BlockEvent>, _signers_instances: &HashMap<ConstructDid, SignerInstance>, _signers_state: SignersState, ) -> SignerSignFutureResult

Source

fn build_background_task( _construct_did: &ConstructDid, _spec: &CommandSpecification, _values: &ValueStore, _outputs: &ValueStore, _progress_tx: &Sender<BlockEvent>, _background_tasks_uuid: &Uuid, _supervision_context: &RunbookSupervisionContext, ) -> CommandExecutionFutureResult

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§