pub enum NodeStatus {
Success,
Failure,
Running,
}Expand description
Status returned by behavior nodes after each tick.
This follows the standard behavior tree status model with three states.
Variants§
Success
The behavior completed successfully.
For example:
- A movement command reached its goal
- An object was successfully detected
- A message was successfully sent
Failure
The behavior failed and cannot recover.
For example:
- An object was not found after extensive searching
- A connection could not be established
- A safety constraint was violated
Note: Use this for logical failures, not exceptions. Throw errors for exceptional conditions.
Running
The behavior is still executing and needs more ticks.
For example:
- A robot is still moving to a goal
- Waiting for a sensor reading
- Processing a long-running computation
Implementations§
Source§impl NodeStatus
impl NodeStatus
Sourcepub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
Returns true if the status indicates completion (Success or Failure).
§Example
use mecha10_behavior_runtime::NodeStatus;
assert!(NodeStatus::Success.is_complete());
assert!(NodeStatus::Failure.is_complete());
assert!(!NodeStatus::Running.is_complete());Sourcepub fn is_success(&self) -> bool
pub fn is_success(&self) -> bool
Returns true if the status is Success.
Sourcepub fn is_failure(&self) -> bool
pub fn is_failure(&self) -> bool
Returns true if the status is Failure.
Sourcepub fn is_running(&self) -> bool
pub fn is_running(&self) -> bool
Returns true if the status is Running.
Trait Implementations§
Source§impl Clone for NodeStatus
impl Clone for NodeStatus
Source§fn clone(&self) -> NodeStatus
fn clone(&self) -> NodeStatus
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NodeStatus
impl Debug for NodeStatus
Source§impl Default for NodeStatus
impl Default for NodeStatus
Source§fn default() -> NodeStatus
fn default() -> NodeStatus
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for NodeStatus
impl<'de> Deserialize<'de> for NodeStatus
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<NodeStatus, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<NodeStatus, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for NodeStatus
impl Display for NodeStatus
Source§impl Hash for NodeStatus
impl Hash for NodeStatus
Source§impl PartialEq for NodeStatus
impl PartialEq for NodeStatus
Source§impl Serialize for NodeStatus
impl Serialize for NodeStatus
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,
Serialize this value into the given Serde serializer. Read more
impl Copy for NodeStatus
impl Eq for NodeStatus
impl StructuralPartialEq for NodeStatus
Auto Trait Implementations§
impl Freeze for NodeStatus
impl RefUnwindSafe for NodeStatus
impl Send for NodeStatus
impl Sync for NodeStatus
impl Unpin for NodeStatus
impl UnwindSafe for NodeStatus
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
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
Compare self to
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>
Converts
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>
Converts
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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.