pub enum DispatchStrategy {
FullParallel,
Sequential,
LevelBarrier,
Adaptive,
TreeOptimized,
CascadeAware,
}Expand description
How the scheduler should dispatch tasks based on topology analysis.
Variants§
FullParallel
Dispatch all ready tasks immediately up to max_parallel.
Used for: AllParallel, FanOut, FanIn.
Sequential
Dispatch tasks one at a time in dependency order.
Used for: LinearChain.
LevelBarrier
Dispatch tasks level-by-level with a barrier between levels.
Used for: Hierarchical.
Adaptive
Mix of parallel and sequential based on local subgraph structure.
Scheduler falls back to default ready-task dispatch with conservative parallelism.
Used for: Mixed.
TreeOptimized
Priority-queue dispatch ordering tasks by critical path distance (deepest first).
Applied to FanOut/FanIn topologies when tree_optimized_dispatch = true.
Dispatches tasks closer to sinks first to minimise end-to-end latency.
CascadeAware
Monitor failure rates per subgraph region; deprioritize tasks in failing subtrees.
Applied to Mixed topology when cascade_routing = true.
Trait Implementations§
Source§impl Clone for DispatchStrategy
impl Clone for DispatchStrategy
Source§fn clone(&self) -> DispatchStrategy
fn clone(&self) -> DispatchStrategy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DispatchStrategy
impl Debug for DispatchStrategy
Source§impl<'de> Deserialize<'de> for DispatchStrategy
impl<'de> Deserialize<'de> for DispatchStrategy
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<DispatchStrategy, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<DispatchStrategy, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for DispatchStrategy
impl PartialEq for DispatchStrategy
Source§impl Serialize for DispatchStrategy
impl Serialize for DispatchStrategy
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for DispatchStrategy
impl Eq for DispatchStrategy
impl StructuralPartialEq for DispatchStrategy
Auto Trait Implementations§
impl Freeze for DispatchStrategy
impl RefUnwindSafe for DispatchStrategy
impl Send for DispatchStrategy
impl Sync for DispatchStrategy
impl Unpin for DispatchStrategy
impl UnsafeUnpin for DispatchStrategy
impl UnwindSafe for DispatchStrategy
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request