struct Downloads<'cfg> {
pending: HashMap<usize, (Download<'cfg>, EasyHandle)>,
pending_paths: HashSet<PathBuf>,
sleeping: SleepTracker<(Download<'cfg>, Easy)>,
results: HashMap<PathBuf, CargoResult<CompletedDownload>>,
next: usize,
progress: RefCell<Option<Progress<'cfg>>>,
downloads_finished: usize,
blocking_calls: usize,
}
Expand description
State for currently pending index file downloads.
Fields§
§pending: HashMap<usize, (Download<'cfg>, EasyHandle)>
When a download is started, it is added to this map. The key is a
“token” (see Download::token
). It is removed once the download is
finished.
pending_paths: HashSet<PathBuf>
Set of paths currently being downloaded.
This should stay in sync with the pending
field.
sleeping: SleepTracker<(Download<'cfg>, Easy)>
Downloads that have failed and are waiting to retry again later.
results: HashMap<PathBuf, CargoResult<CompletedDownload>>
The final result of each download.
next: usize
The next ID to use for creating a token (see Download::token
).
progress: RefCell<Option<Progress<'cfg>>>
Progress bar.
downloads_finished: usize
Number of downloads that have successfully finished.
blocking_calls: usize
Number of times the caller has requested blocking. This is used for an estimate of progress.
Implementations§
Auto Trait Implementations§
impl<'cfg> !RefUnwindSafe for Downloads<'cfg>
impl<'cfg> !Send for Downloads<'cfg>
impl<'cfg> !Sync for Downloads<'cfg>
impl<'cfg> Unpin for Downloads<'cfg>
impl<'cfg> !UnwindSafe for Downloads<'cfg>
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> 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> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 328 bytes