pub struct RefreshBatch {
pub queue: VecDeque<RefreshQueueItem>,
pub in_flight: usize,
pub total: usize,
pub completed: usize,
pub in_flight_aliases: HashSet<String>,
}Expand description
State of a R batch refresh. None when no batch is active.
Drives a windowed concurrency: at most MAX_PARALLEL listings are
in flight at any time. Each ContainerListing event decrements
in_flight and pops the next queued item; the batch ends when
queue is empty and in_flight drops to zero.
Fields§
§queue: VecDeque<RefreshQueueItem>§in_flight: usize§total: usizeTotal host count when the batch started. used for the
Refreshing N/M progress readout in the status footer.
completed: usizeHosts whose listing has already returned (success or error).
in_flight_aliases: HashSet<String>Aliases that the batch has spawned but not yet seen complete.
Listings whose alias is NOT in this set are non-batch traffic
(host-list C, action-complete refresh, a-add) and must not
touch the counters. Without this guard the in-flight counter
gets corrupted whenever a parallel non-batch fetch completes
during a R run.
Trait Implementations§
Source§impl Debug for RefreshBatch
impl Debug for RefreshBatch
Source§impl Default for RefreshBatch
impl Default for RefreshBatch
Source§fn default() -> RefreshBatch
fn default() -> RefreshBatch
Auto Trait Implementations§
impl Freeze for RefreshBatch
impl RefUnwindSafe for RefreshBatch
impl Send for RefreshBatch
impl Sync for RefreshBatch
impl Unpin for RefreshBatch
impl UnsafeUnpin for RefreshBatch
impl UnwindSafe for RefreshBatch
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> 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