pub struct ParallelInstaller { /* private fields */ }Expand description
Parallel installer for multiple packages
Implementations§
Source§impl ParallelInstaller
impl ParallelInstaller
Sourcepub fn with_config(config: ParallelConfig) -> Self
pub fn with_config(config: ParallelConfig) -> Self
Create with custom configuration
Sourcepub async fn extract_bottles(
&self,
bottles: Vec<BottleInfo>,
cellar: &Path,
) -> Result<Vec<(String, PathBuf)>>
pub async fn extract_bottles( &self, bottles: Vec<BottleInfo>, cellar: &Path, ) -> Result<Vec<(String, PathBuf)>>
Extract multiple bottles in parallel
Returns a vector of (name, install_path) pairs in the same order as input
Sourcepub async fn link_packages(
&self,
packages: Vec<LinkInfo>,
prefix: &Path,
) -> Result<Vec<(String, Vec<PathBuf>)>>
pub async fn link_packages( &self, packages: Vec<LinkInfo>, prefix: &Path, ) -> Result<Vec<(String, Vec<PathBuf>)>>
Link multiple packages in parallel
Note: Linking can have conflicts if packages try to link the same file, so we use a smaller concurrency limit by default.
Sourcepub async fn install_bottles(
&self,
bottles: Vec<BottleInfo>,
cellar: &Path,
prefix: &Path,
) -> Result<Vec<PackageInstallResult>>
pub async fn install_bottles( &self, bottles: Vec<BottleInfo>, cellar: &Path, prefix: &Path, ) -> Result<Vec<PackageInstallResult>>
Install multiple packages in parallel (extract then link)
Extracts all bottles in parallel first, then links in parallel. This two-phase approach avoids potential conflicts.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ParallelInstaller
impl !RefUnwindSafe for ParallelInstaller
impl Send for ParallelInstaller
impl Sync for ParallelInstaller
impl Unpin for ParallelInstaller
impl !UnwindSafe for ParallelInstaller
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