pub struct JobQueue<'gctx> {
queue: DependencyQueue<Unit, Artifact, Job>,
counts: HashMap<PackageId, usize>,
timings: Timings<'gctx>,
}
Expand description
This structure is backed by the DependencyQueue
type and manages the
queueing of compilation steps for each package. Packages enqueue units of
work and then later on the entire graph is converted to DrainState and
executed.
Fields§
§queue: DependencyQueue<Unit, Artifact, Job>
§counts: HashMap<PackageId, usize>
§timings: Timings<'gctx>
Implementations§
source§impl<'gctx> JobQueue<'gctx>
impl<'gctx> JobQueue<'gctx>
pub fn new(bcx: &BuildContext<'_, 'gctx>) -> JobQueue<'gctx>
pub fn enqueue( &mut self, build_runner: &BuildRunner<'_, 'gctx>, unit: &Unit, job: Job, ) -> CargoResult<()>
sourcepub fn execute(
self,
build_runner: &mut BuildRunner<'_, '_>,
plan: &mut BuildPlan,
) -> CargoResult<()>
pub fn execute( self, build_runner: &mut BuildRunner<'_, '_>, plan: &mut BuildPlan, ) -> CargoResult<()>
Executes all jobs necessary to build the dependency graph.
This function will spawn off config.jobs()
workers to build all of the
necessary dependencies, in order. Freshness is propagated as far as
possible along each dependency chain.
Auto Trait Implementations§
impl<'gctx> Freeze for JobQueue<'gctx>
impl<'gctx> !RefUnwindSafe for JobQueue<'gctx>
impl<'gctx> !Send for JobQueue<'gctx>
impl<'gctx> !Sync for JobQueue<'gctx>
impl<'gctx> Unpin for JobQueue<'gctx>
impl<'gctx> !UnwindSafe for JobQueue<'gctx>
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§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>,
§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: 576 bytes