pub enum HostSelection {
Single(VpsName),
All,
Named(Vec<VpsName>),
Tagged(Vec<HostTag>),
}Expand description
How multi-host SSH ops select target hosts (G-PAR-27 / G-PAR-31 / G-TYPE-09).
Workload: selection is pure local map lookup (tiny). Parallelism starts only
after resolve_host_jobs when callers fan out via crate::concurrency::map_bounded.
Names/tags are refined at the CLI boundary (VpsName / HostTag); map keys stay
owned String for wire/storage compatibility.
Variants§
Single(VpsName)
One host by name (positional). Classic single-host JSON wire.
All
Every registered host. Batch JSON wire.
Named(Vec<VpsName>)
Explicit subset (--hosts). Batch JSON wire even if len == 1 (G-PAR-36).
Tagged(Vec<HostTag>)
Hosts matching any of the given tags (OR). Batch JSON wire (G-O2).
Implementations§
Source§impl HostSelection
impl HostSelection
Sourcepub fn target_source(&self) -> TargetSource
pub fn target_source(&self) -> TargetSource
Provenance of this selection, for the target_source wire field.
Transfers have no active-marker path — scp and sftp never read the file
connect writes — so the mapping is total: a lone name came from a positional
(argv), and every plural form came from a selector flag.
Trait Implementations§
Source§impl Clone for HostSelection
impl Clone for HostSelection
Source§fn clone(&self) -> HostSelection
fn clone(&self) -> HostSelection
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HostSelection
impl Debug for HostSelection
impl Eq for HostSelection
Source§impl PartialEq for HostSelection
impl PartialEq for HostSelection
impl StructuralPartialEq for HostSelection
Auto Trait Implementations§
impl Freeze for HostSelection
impl RefUnwindSafe for HostSelection
impl Send for HostSelection
impl Sync for HostSelection
impl Unpin for HostSelection
impl UnsafeUnpin for HostSelection
impl UnwindSafe for HostSelection
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§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.