Skip to main content

QueueEntry

Struct QueueEntry 

Source
pub struct QueueEntry { /* private fields */ }
Expand description

Denotes one source in the in-memory manager collection.

Implementations§

Source§

impl QueueEntry

Source

pub const fn id(&self) -> QueueId

Observes stable queue identity.

Source

pub fn source(&self) -> &str

Observes the requested source.

Source

pub fn output(&self) -> Option<&Path>

Observes the explicit output path when present.

Source

pub fn title(&self) -> Option<&str>

Observes the extracted media title when known.

Source

pub const fn transfer(&self) -> &TransferState

Observes transfer state.

Source

pub const fn options(&self) -> &DownloadOptions

Observes choices fixed when execution first starts.

Source

pub const fn formats(&self) -> &FormatCatalog

Observes discovered selectable formats.

Source

pub fn is_editable(&self) -> bool

Observes whether request choices remain editable.

Source

pub fn detail_controls(&self) -> Vec<DetailControl>

Derives visible details controls from transfer state.

Source

pub fn space_action(&self) -> Option<SpaceAction>

Derives the currently valid meaning of Space.

Source

pub fn transfer_command(&self) -> Option<SyncCommand>

States exactly the command an interpreter would run to perform this request.

Only a transfer is performed by naming a program. The command is derived from the two ends, the way of transferring, and the rehearsal mode, so changing any of them changes it. An interpreter runs this command, and a reader reads this command: one derivation, so what is shown and what is run cannot drift apart.

Source

pub fn stated_command(&self) -> Option<String>

States what an interpreter would run, as a reader reads it.

Source

pub fn log(&self) -> impl DoubleEndedIterator<Item = &str>

Observes the notes stated about this request, in the order they were stated.

Source

pub fn label(&self) -> &str

Derives the source input before inspection and the media title afterward.

Trait Implementations§

Source§

impl Clone for QueueEntry

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for QueueEntry

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FormatChoiceViewAlg for QueueEntry

Source§

type Format = Format

Represents one described selectable format.
Source§

fn discovery(&self) -> DiscoveryState<'_>

Observes what discovery has stated about this request’s formats.
Source§

fn described_formats(&self) -> impl Iterator<Item = &Self::Format>

Observes the described formats in extractor preference order.
Source§

impl PartialEq for QueueEntry

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl QueueEntryAlg for QueueEntry

Source§

fn label(&self) -> &str

Observes the submitted source until extraction supplies a title, and that title after.
Source§

fn source(&self) -> &str

Observes the source the request was submitted with.
Source§

fn phase(&self) -> TransferPhase

Observes the lifecycle phase the request has reached.
Source§

fn dry_run(&self) -> Option<bool>

Observes the rehearsal mode, and that the request has none when it has none.
Source§

fn output_naming(&self) -> OutputNaming

Observes how the output is named, which decides what an edited name is taken to be.
Source§

fn stated_command(&self) -> Option<String>

Observes exactly what an interpreter would run to perform the request. Read more
Source§

fn output(&self) -> Option<&Path>

Observes the explicit output path when present.
Source§

fn is_editable(&self) -> bool

Observes whether request choices remain editable.
Source§

fn detail_controls(&self) -> Vec<DetailControl>

Derives visible details controls from transfer state.
Source§

fn download_log(&self) -> impl Iterator<Item = &str>

Observes the notes stated about this request, in the order they were stated.
Source§

fn space_action(&self) -> Option<SpaceAction>

Derives the currently valid meaning of Space.
Source§

impl RehearsalViewAlg for QueueEntry

Source§

type Change = PlannedChange

Represents one change a rehearsal states.
Source§

fn rehearsal(&self) -> RehearsalState<'_>

Observes what rehearsal has stated about this request.
Source§

fn planned_changes(&self) -> impl Iterator<Item = &Self::Change>

Observes the changes a rehearsal stated, in the order it stated them.
Source§

impl RequestOptionsAlg for QueueEntry

Source§

fn performer(&self) -> Performer

Observes what performs the request.
Source§

fn media_streams(&self) -> Option<MediaStreams>

Observes the stream roles the request prefers, and that it chooses no media when it transfers something a media role says nothing about.
Source§

fn chosen_choice(&self) -> Option<&str>

Observes the one choice the request fixes, when it fixes one. Read more
Source§

fn selectable_choices(&self) -> impl Iterator<Item = &str>

Observes every choice the request offers, in the order it offers them. Read more
Source§

fn choice_summary(&self, choice: &str) -> Option<&str>

Observes what one offered choice states about itself, when it states anything. Read more
Source§

impl StructuralPartialEq for QueueEntry

Source§

impl TransferViewAlg for QueueEntry

Source§

fn transferred(&self) -> u64

Observes retrieved bytes.
Source§

fn transfer_total(&self) -> Option<u64>

Observes expected bytes when the source states them.
Source§

fn transfer_elapsed(&self) -> Duration

Observes elapsed transfer time.
Source§

fn transfer_complete(&self) -> bool

Observes whether the transfer reached terminal success.
Source§

fn transfer_destination(&self) -> Option<&Path>

Observes the path publication will produce once an interpreter states one.
Source§

fn transfer_summary(&self) -> Option<&str>

Observes the concise reason a transfer failed.
Source§

fn transfer_detail(&self) -> Option<&str>

Observes the diagnostic accompanying a failure.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<This> FormatRolesExt<This> for This

Source§

fn offered_streams(&self) -> Vec<MediaStreams>

States the roles some described format carries, and every role while none are described.

A chooser offers what can be chosen. Asking for sound alone from a source that only ever states one file carrying both would select nothing at all, so a role no format carries is not offered at all. Before anything is described there is nothing to rule out, and every role stands.

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<This> GaugeLaws<This> for This

Source§

fn gauge_laws(&self) -> Result<(), Error>

Checks that a gauge states a share without claiming more resolution than it has.

The laws checked are:

  1. a gauge occupies its stated width whatever share it states;
  2. no share is stated as filled before it is reached, and none is stated twice;
  3. nothing stated is nothing filled, and everything stated fills the whole track;
  4. the stated text occupies exactly one cell per counted cell.
§Errors

Returns the first violated law.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<This> IntoExt<This> for This

Source§

fn to<R>(self) -> R
where This: Into<R>,

A version of Into::into function that can be used to explicitly specify the target conversion type.

use alux_sdk::*;
// `Into` requires context to infer the type,
let _: i64 = Into::into(42_i8);
// The opposite `From` requires context to infer the type,
let _: i64 = From::from(42_i8);
// `.to()` can be used in the same way as a postfix function (the same as `.into()`),
let _: i64 = 42_i8.to();
// but also with the type specified explicitly.
let _ = 42_i8.to::<i64>();
// Especially useful to chain multiple conversions inline.
let _: i64 = 42_i8.to::<i16>().to::<i32>().into();
Source§

impl<This> IntoIteratorExt<This> for This

Source§

fn try_collect_vec<T, E>(self) -> Result<Vec<T>, E>
where This: Iterator<Item = Result<T, E>>,

A variant of the try_collect and collect_vec combined function from the Itertools library. The materialized value is a Vec inside a Result object.

Returns the first error without collecting later values.

use alux_sdk::*;

let values = [Ok::<_, &str>(1), Ok(2), Ok(3)]
    .into_iter()
    .try_collect_vec();

assert_eq!(values, Ok(vec![1, 2, 3]));
Source§

fn collect_exact<T>(self, n: usize) -> Option<Vec<T>>
where This: Iterator<Item = T>,

Takes exactly n elements from the iterator.

Returns Some(Vec<T>) if the iterator yields exactly n elements, otherwise returns None.

use alux_sdk::*;

let v = [1, 2, 3];

assert_eq!(v.iter().copied().collect_exact(3), Some(vec![1, 2, 3]));
assert_eq!(v.iter().copied().collect_exact(4), None);
assert_eq!(v.iter().copied().collect_exact(2), None);
Source§

fn try_unzip<A, B, E>(self) -> Result<(Vec<A>, Vec<B>), E>
where This: IntoIterator<Item = Result<(A, B), E>>,

Efficiently splits an iterator of Result<(A, B), E> into two Vecs, short-circuiting on error.

Consumes the iterator, collecting all A elements into one vector and all B elements into another, without first allocating an intermediate vector of tuples. Returns the tuple (Vec<A>, Vec<B>) on success, or the first error encountered.

use alux_sdk::*;

let input = vec![Ok((1, "x")), Ok((2, "y"))];
let (xs, ys) = input.try_unzip::<_, _, ()>().unwrap();

assert_eq!(xs, vec![1, 2]);
assert_eq!(ys, vec!["x", "y"]);
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<This> TransferProgressExt<This> for This
where This: TransferViewAlg,

Source§

fn bytes_per_second(&self) -> Option<u64>

Derives average retrieved bytes per second once progress has duration.

Source§

fn estimated_remaining(&self) -> Option<Duration>

Derives remaining time from average progress once the expected byte count is known.

Source§

fn percent(&self) -> Option<u16>

Derives the completed share as whole percent once it is known.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.