pub struct DownloadOptions { /* private fields */ }Expand description
Denotes editable choices for one not-yet-started download.
Implementations§
Source§impl DownloadOptions
impl DownloadOptions
Sourcepub const fn progressive() -> Self
pub const fn progressive() -> Self
Selects the best progressive format containing audio and video.
Sourcepub const fn transfer() -> Self
pub const fn transfer() -> Self
Selects one transferred path, rehearsed before it is transferred.
A transfer states what it would do before it does it, so it begins in rehearsal mode and only leaves it when someone turns that mode off. What is transferred may be one file or a whole folder; the request is the same either way.
Sourcepub const fn profile(&self) -> Option<SyncProfile>
pub const fn profile(&self) -> Option<SyncProfile>
Observes the way a path is transferred, and that a media item is transferred no way.
Sourcepub const fn performer(&self) -> Performer
pub const fn performer(&self) -> Performer
Observes what performs the request these options belong to.
A way of transferring names a program to run; everything else is retrieved from the source that claimed the line.
Sourcepub const fn with_profile(self, profile: SyncProfile) -> Self
pub const fn with_profile(self, profile: SyncProfile) -> Self
Selects the way a path is transferred, for a request that transfers one.
Sourcepub const fn rehearsing(self) -> Self
pub const fn rehearsing(self) -> Self
Turns the rehearsal mode back on, for a request that has one.
A request nobody has performed yet states what it would do before it does it, whether it was submitted or duplicated from one somebody had already armed.
Sourcepub const fn dry_run(&self) -> Option<bool>
pub const fn dry_run(&self) -> Option<bool>
Observes the rehearsal mode, and that the request has none when it has none.
Sourcepub const fn set_dry_run(&mut self, dry_run: bool)
pub const fn set_dry_run(&mut self, dry_run: bool)
Selects the rehearsal mode of a request that has one.
Sourcepub const fn media_streams(&self) -> Option<MediaStreams>
pub const fn media_streams(&self) -> Option<MediaStreams>
Observes the selected stream roles.
Sourcepub const fn format(&self) -> &FormatChoice
pub const fn format(&self) -> &FormatChoice
Observes the selected format policy.
Sourcepub fn with_media_streams(self, media_streams: MediaStreams) -> Self
pub fn with_media_streams(self, media_streams: MediaStreams) -> Self
Selects new stream roles and releases the concrete format identity.
Sourcepub fn with_format(self, format: FormatChoice) -> Self
pub fn with_format(self, format: FormatChoice) -> Self
Selects one format policy without changing stream roles.
Trait Implementations§
Source§impl Clone for DownloadOptions
impl Clone for DownloadOptions
Source§impl Debug for DownloadOptions
impl Debug for DownloadOptions
impl Eq for DownloadOptions
Source§impl PartialEq for DownloadOptions
impl PartialEq for DownloadOptions
impl StructuralPartialEq for DownloadOptions
Auto Trait Implementations§
impl Freeze for DownloadOptions
impl RefUnwindSafe for DownloadOptions
impl Send for DownloadOptions
impl Sync for DownloadOptions
impl Unpin for DownloadOptions
impl UnsafeUnpin for DownloadOptions
impl UnwindSafe for DownloadOptions
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<This> GaugeLaws<This> for This
impl<This> GaugeLaws<This> for This
Source§fn gauge_laws(&self) -> Result<(), Error>
fn gauge_laws(&self) -> Result<(), Error>
Checks that a gauge states a share without claiming more resolution than it has.
The laws checked are:
- a gauge occupies its stated width whatever share it states;
- no share is stated as filled before it is reached, and none is stated twice;
- nothing stated is nothing filled, and everything stated fills the whole track;
- the stated text occupies exactly one cell per counted cell.
§Errors
Returns the first violated law.
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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 moreSource§impl<This> IntoExt<This> for This
impl<This> IntoExt<This> for This
Source§fn to<R>(self) -> Rwhere
This: Into<R>,
fn to<R>(self) -> Rwhere
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
impl<This> IntoIteratorExt<This> for This
Source§fn try_collect_vec<T, E>(self) -> Result<Vec<T>, E>
fn try_collect_vec<T, E>(self) -> Result<Vec<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>,
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>
fn try_unzip<A, B, E>(self) -> Result<(Vec<A>, Vec<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"]);