pub struct CommandRouter { /* private fields */ }Expand description
Resolves command targets to specific node IDs
Implementations§
Source§impl CommandRouter
impl CommandRouter
Sourcepub fn new(
node_id: String,
squad_id: Option<String>,
squad_members: Vec<String>,
platoon_id: Option<String>,
) -> Self
pub fn new( node_id: String, squad_id: Option<String>, squad_members: Vec<String>, platoon_id: Option<String>, ) -> Self
Create new router for a node
Sourcepub fn resolve_target(&self, command: &HierarchicalCommand) -> TargetResolution
pub fn resolve_target(&self, command: &HierarchicalCommand) -> TargetResolution
Resolve command target to specific nodes
Sourcepub fn should_route(&self, resolution: &TargetResolution) -> bool
pub fn should_route(&self, resolution: &TargetResolution) -> bool
Check if this node should route the command downward
Sourcepub fn get_routing_targets(&self, resolution: &TargetResolution) -> Vec<String>
pub fn get_routing_targets(&self, resolution: &TargetResolution) -> Vec<String>
Get list of nodes to route command to
Auto Trait Implementations§
impl Freeze for CommandRouter
impl RefUnwindSafe for CommandRouter
impl Send for CommandRouter
impl Sync for CommandRouter
impl Unpin for CommandRouter
impl UnsafeUnpin for CommandRouter
impl UnwindSafe for CommandRouter
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> 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 more