Struct nando_support::epic_control::ECB
source · pub struct ECB {
pub id: EcbId,
pub spawned_tasks: Vec<SpawnedTask>,
result_task: Option<EcbId>,
pub notifying_tasks: HashSet<EcbId>,
parent_ecb: DownstreamTaskDependency,
pub downstream_dependents: Vec<DownstreamTaskDependency>,
pub upstream_control_dependencies: HashSet<EcbId>,
result: Option<NandoResult>,
pub planning_context: PlanningContext,
}Fields§
§id: EcbId§spawned_tasks: Vec<SpawnedTask>§result_task: Option<EcbId>§notifying_tasks: HashSet<EcbId>§parent_ecb: DownstreamTaskDependency§downstream_dependents: Vec<DownstreamTaskDependency>§upstream_control_dependencies: HashSet<EcbId>§result: Option<NandoResult>§planning_context: PlanningContextImplementations§
source§impl ECB
impl ECB
pub fn new_top_level( host_idx: u64, top_level_activation_id: ActivationId ) -> Self
pub fn new_from_dependency_info(spawned_task_info: &SpawnedTask) -> Self
pub fn get_last_unresolved_arg_idx(&self) -> usize
pub fn add_new_spawned_task( &mut self, pending_intent: NandoActivationIntent ) -> NandoArgument
pub fn add_new_spawned_task_and_update_dependencies( &mut self, pending_intent: NandoActivationIntent ) -> NandoArgument
pub fn add_new_spawned_task_with_control_dependencies( &mut self, pending_intent: NandoActivationIntent ) -> NandoArgument
pub fn add_continuation_with_control_dependencies( &mut self, pending_intent: NandoActivationIntent, control_dependencies: &Vec<NandoArgument> ) -> NandoArgument
pub fn is_top_level(&self) -> bool
pub fn should_notify_parent(&self) -> bool
pub fn has_downstream_dependents(&self) -> bool
pub fn has_spawned_tasks(&self) -> bool
pub fn get_downstream_dependents(&self) -> Vec<DownstreamTaskDependency>
pub fn set_parent_ecb_id(&mut self, parent_ecb_id: EcbId)
pub fn get_parent_ecb_id(&self) -> Option<EcbId>
pub fn get_parent_as_downstream_dependency(&self) -> DownstreamTaskDependency
pub fn get_result(&self) -> Option<NandoResult>
pub fn set_result(&mut self, result: NandoResult)
pub fn get_associated_activation_id(&self) -> ActivationId
pub fn get_last_unresolved_arg(&self) -> Option<NandoArgument>
pub fn to_task_control_info(&self, intent: NandoActivationIntent) -> SpawnedTask
pub fn maybe_set_result_from_task( &mut self, ecb_id: EcbId, result: Option<NandoResult> )
fn is_result_task(&self, ecb_id: EcbId) -> bool
pub fn set_result_task(&mut self, result_task_id: EcbId)
pub fn set_last_spawn_as_result_task(&mut self)
pub fn mark_control_dependency_done(&mut self, control_dependency_id: EcbId)
pub fn has_pending_control_dependencies(&self) -> bool
pub fn add_notifying_task(&mut self, notifying_task_id: EcbId)
Trait Implementations§
source§impl From<&SpawnedTask> for ECB
impl From<&SpawnedTask> for ECB
source§fn from(value: &SpawnedTask) -> Self
fn from(value: &SpawnedTask) -> Self
Converts to this type from the input type.
source§impl From<&mut SpawnedTask> for ECB
impl From<&mut SpawnedTask> for ECB
source§fn from(value: &mut SpawnedTask) -> Self
fn from(value: &mut SpawnedTask) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl !RefUnwindSafe for ECB
impl Send for ECB
impl Sync for ECB
impl Unpin for ECB
impl !UnwindSafe for ECB
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more