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