pub fn update_async(&self) -> impl Future<Item=(), Error=Error> {
        let repo = self.clone();
        let pool = CpuPool::new(self.0.rsync_threads);
        fs::read_dir(&self.0.cache_dir).map_err(|err| {
            error!(
                "Failed to read repository directory: {}",
                err
            );
            Error
        }).into_future()
        .and_then(|dir| {
            future::join_all(dir.map(move |entry| {
                let repo = repo.clone();
                let pool = pool.clone();
                entry.map_err(|err| {
                    error!(
                        "Failed to iterate over repository directory: {}",
                        err
                    );
                    Error
                }).into_future()
                .and_then(move |entry| {
                    pool.spawn(future::lazy(|| {
                        repo.update_host(entry);
                        Ok(())
                    }))
                })
            })).map(|_| ())
        })
    }
/// Asynchronously updates the content of the local repository.
///
/// This goes over all the known repository publication points and runs
/// rsync on them to update.
///
/// The method logs all error messages.
Asynchronously updates the content of the local repository.
This goes over all the known repository publication points and runs
rsync on them to update.

The method logs all error messages.
Asynchronously updates the content of the local repository . This goes over all the known repository publication points and runs rsync on them to update . The method logs all error messages .
pub fn update_async(&self) -> impl Future<Item=(), Error=Error> {
        let repo = self.clone();
        let pool = CpuPool::new(self.0.rsync_threads);
        fs::read_dir(&self.0.cache_dir).map_err(|err| {
            error!(
                "Failed to read repository directory: {}",
                err
            );
            Error
        }).into_future()
        .and_then(|dir| {
            future::join_all(dir.map(move |entry| {
                let repo = repo.clone();
                let pool = pool.clone();
                entry.map_err(|err| {
                    error!(
                        "Failed to iterate over repository directory: {}",
                        err
                    );
                    Error
                }).into_future()
                .and_then(move |entry| {
                    pool.spawn(future::lazy(|| {
                        repo.update_host(entry);
                        Ok(())
                    }))
                })
            })).map(|_| ())
        })
    }
pub fn update_async ( & self ) -> impl Future < Item = ( ) , Error = Error > { let repo = self . clone ( ) ; let pool = CpuPool :: new ( self . 0 . rsync_threads ) ; fs :: read_dir ( & self . 0 . cache_dir ) . map_err ( | err | { error ! ( " " err ) ; Error } ) . into_future ( ) . and_then ( | dir | { future :: join_all ( dir . map ( move | entry | { let repo = repo . clone ( ) ; let pool = pool . clone ( ) ; entry . map_err ( | err | { error ! ( " " err ) ; Error } ) . into_future ( ) . and_then ( move | entry | { pool . spawn ( future :: lazy ( | | { repo . update_host ( entry ) ; Ok ( ( ) ) } ) ) } ) } ) ) . map ( | _ | ( ) ) } ) }
Asynchronously updates the content of the local repository.
Asynchronously updates the content of the local repository .
&self
&self