pub enum GraphComputeIncompleteReason {
Exhausted,
IterationLimit,
Timeout,
}Expand description
Why a GraphCompute invocation stopped before producing a complete result.
The three outcomes call for different remedies — raise the deadline, raise
the iteration cap, or raise the native-work budget — so they are reported
distinctly rather than collapsed into a single “incomplete” flag
(GraphCompute proposal §5.2, error codes 0x865–0x867).
Variants§
Exhausted
The native-work budget (a multiple of |E| plus an absolute ceiling)
was drained by kernel work before the algorithm finished. Maps to 0x865.
IterationLimit
A convergence loop reached its superstep/iteration cap without settling.
Maps to 0x866.
Timeout
The wall-clock deadline elapsed mid-invocation. Maps to 0x867.
Implementations§
Source§impl GraphComputeIncompleteReason
impl GraphComputeIncompleteReason
Sourcepub fn as_str(self) -> &'static str
pub fn as_str(self) -> &'static str
Returns a stable machine-readable tag for non-Rust callers.
One of "exhausted", "iteration_limit", or "timeout" — surfaced to
callers (e.g. the Python bindings) that cannot match on a Rust enum.
Sourcepub fn error_code(self) -> u32
pub fn error_code(self) -> u32
Returns the GraphCompute error code (0x865–0x867) for this reason.
Lets the loader shims map an incomplete outcome onto the pinned error block (proposal §12) without re-deriving the mapping per loader.
Sourcepub fn from_error_code(code: u32) -> Option<Self>
pub fn from_error_code(code: u32) -> Option<Self>
Maps a GraphCompute error code (0x865–0x867) back to its reason.
The inverse of error_code: the provider boundary
receives a typed FnError carrying one of these codes and reconstructs
the reason for the user-visible UniError::GraphComputeIncomplete.
Any other code is not an incomplete outcome and yields None.
Trait Implementations§
Source§impl Clone for GraphComputeIncompleteReason
impl Clone for GraphComputeIncompleteReason
Source§fn clone(&self) -> GraphComputeIncompleteReason
fn clone(&self) -> GraphComputeIncompleteReason
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for GraphComputeIncompleteReason
Source§impl Debug for GraphComputeIncompleteReason
impl Debug for GraphComputeIncompleteReason
Source§impl<'de> Deserialize<'de> for GraphComputeIncompleteReason
impl<'de> Deserialize<'de> for GraphComputeIncompleteReason
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for GraphComputeIncompleteReason
impl StructuralPartialEq for GraphComputeIncompleteReason
Auto Trait Implementations§
impl Freeze for GraphComputeIncompleteReason
impl RefUnwindSafe for GraphComputeIncompleteReason
impl Send for GraphComputeIncompleteReason
impl Sync for GraphComputeIncompleteReason
impl Unpin for GraphComputeIncompleteReason
impl UnsafeUnpin for GraphComputeIncompleteReason
impl UnwindSafe for GraphComputeIncompleteReason
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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<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 more