Skip to main content

execute

Function execute 

Source
pub async fn execute<H, F, G, C>(
    plan: &Plan,
    manifest: &mut Manifest,
    albums: &mut BTreeMap<String, AlbumArt>,
    playlists: &mut BTreeMap<String, PlaylistState>,
    desired: &[Desired],
    ports: Ports<'_, H, F, G, C>,
    opts: &ExecOptions,
) -> ExecOutcome
where H: Http, F: Filesystem, G: Ffmpeg, C: Clock,
Expand description

Apply plan to disk, updating manifest and albums in place, and return the outcome.

desired carries the per-clip metadata and art hashes plus the source modes that decide the preserve marker; it is indexed by clip id (and by target path, for renames) so each written entry records the right hashes and protection. albums is the album-art store, keyed by stable root id: folder-art writes and deletes record their state there rather than on the per-clip manifest. ports bundles the authenticated client and the network, disk, transcode, and backoff ports. A single clip’s failure never aborts the run, except an auth failure, which stops it with RunStatus::AuthAborted.