472 lines
131 KiB
HTML
472 lines
131 KiB
HTML
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Online repository - fetches data from Jellyfin server via HTTP"><title>OnlineRepository in jellytau_lib::repository::online - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-17e0aaed.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="jellytau_lib" data-themes="" data-resource-suffix="" data-rustdoc-version="1.97.1 (8bab26f4f 2026-07-14)" data-channel="1.97.1" data-search-js="search-fd9372ac.js" data-stringdex-js="stringdex-2da4960a.js" data-settings-js="settings-170eb4bf.js" ><script src="../../../static.files/storage-41dd4d93.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-fcd733ba.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-f7c3ffd8.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc struct"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">OnlineRepository</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../jellytau_lib/index.html">jellytau_<wbr>lib</a><span class="version">0.11.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Online<wbr>Repository</a></h2><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.access_token" title="access_token">access_token</a></li><li><a href="#structfield.connectivity" title="connectivity">connectivity</a></li><li><a href="#structfield.http_client" title="http_client">http_client</a></li><li><a href="#structfield.server_url" title="server_url">server_url</a></li><li><a href="#structfield.user_id" title="user_id">user_id</a></li></ul><h3><a href="#implementations">Associated Functions</a></h3><ul class="block method"><li><a href="#method.new" title="new">new</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.auth_header" title="auth_header">auth_header</a></li><li><a href="#method.build_audio_only_stream_url_for_video" title="build_audio_only_stream_url_for_video">build_audio_only_stream_url_for_video</a></li><li><a href="#method.download_bytes" title="download_bytes">download_bytes</a></li><li><a href="#method.get_jray_actors" title="get_jray_actors">get_jray_actors</a></li><li><a href="#method.get_json" title="get_json">get_json</a></li><li><a href="#method.get_json_inner" title="get_json_inner">get_json_inner</a></li><li><a href="#method.get_stream_selection" title="get_stream_selection">get_stream_selection</a></li><li><a href="#method.get_video_stream_url" title="get_video_stream_url">get_video_stream_url</a></li><li><a href="#method.negotiate_playback" title="negotiate_playback">negotiate_playback</a></li><li><a href="#method.post_json" title="post_json">post_json</a></li><li><a href="#method.post_json_inner" title="post_json_inner">post_json_inner</a></li><li><a href="#method.post_json_response" title="post_json_response">post_json_response</a></li><li><a href="#method.post_json_response_inner" title="post_json_response_inner">post_json_response_inner</a></li><li><a href="#method.report_outcome" title="report_outcome">report_outcome</a></li><li><a href="#method.stop_transcode" title="stop_transcode">stop_transcode</a></li><li><a href="#method.user_id" title="user_id">user_id</a></li><li><a href="#method.with_connectivity" title="with_connectivity">with_connectivity</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-MediaRepository-for-OnlineRepository" title="MediaRepository">MediaRepository</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-OnlineRepository" title="!RefUnwindSafe">!RefUnwindSafe</a></li><li><a href="#impl-UnwindSafe-for-OnlineRepository" title="!UnwindSafe">!UnwindSafe</a></li><li><a href="#impl-Freeze-for-OnlineRepository" title="Freeze">Freeze</a></li><li><a href="#impl-Send-for-OnlineRepository" title="Send">Send</a></li><li><a href="#impl-Sync-for-OnlineRepository" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-OnlineRepository" title="Unpin">Unpin</a></li><li><a href="#impl-UnsafeUnpin-for-OnlineRepository" title="UnsafeUnpin">UnsafeUnpin</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow<T>">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut<T>">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T" title="From<T>">From<T></a></li><li><a href="#impl-Instrument-for-T" title="Instrument">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into<U>">Into<U></a></li><li><a href="#impl-PolicyExt-for-T" title="PolicyExt">PolicyExt</a></li><li><a href="#impl-Same-for-T" title="Same">Same</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom<U>">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto<U>">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T" title="VZip<V>">VZip<V></a></li><li><a href="#impl-WithSubscriber-for-T" title="WithSubscriber">WithSubscriber</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In jellytau_<wbr>lib::<wbr>repository::<wbr>online</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content" tabindex="-1"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">jellytau_lib</a>::<wbr><a href="../index.html">repository</a>::<wbr><a href="index.html">online</a></div><h1>Struct <span class="struct">Online<wbr>Repository</span> <button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/jellytau_lib/repository/online.rs.html#182-191">Source</a> </span></div><pre class="rust item-decl"><code>pub struct OnlineRepository {
|
||
http_client: <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../jellyfin/http_client/struct.HttpClient.html" title="struct jellytau_lib::jellyfin::http_client::HttpClient">HttpClient</a>>,
|
||
server_url: <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
|
||
user_id: <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
|
||
access_token: <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
|
||
connectivity: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../connectivity/struct.ConnectivityReporter.html" title="struct jellytau_lib::connectivity::ConnectivityReporter">ConnectivityReporter</a>>,
|
||
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Online repository - fetches data from Jellyfin server via HTTP</p>
|
||
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.http_client" class="structfield section-header"><a href="#structfield.http_client" class="anchor field">§</a><code>http_client: <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../jellyfin/http_client/struct.HttpClient.html" title="struct jellytau_lib::jellyfin::http_client::HttpClient">HttpClient</a>></code></span><span id="structfield.server_url" class="structfield section-header"><a href="#structfield.server_url" class="anchor field">§</a><code>server_url: <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><span id="structfield.user_id" class="structfield section-header"><a href="#structfield.user_id" class="anchor field">§</a><code>user_id: <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><span id="structfield.access_token" class="structfield section-header"><a href="#structfield.access_token" class="anchor field">§</a><code>access_token: <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><span id="structfield.connectivity" class="structfield section-header"><a href="#structfield.connectivity" class="anchor field">§</a><code>connectivity: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../connectivity/struct.ConnectivityReporter.html" title="struct jellytau_lib::connectivity::ConnectivityReporter">ConnectivityReporter</a>></code></span><div class="docblock"><p>Reports the outcome of every server request to the connectivity monitor.
|
||
This is the source of truth for the offline/online banner. <code>None</code> in
|
||
tests / contexts where connectivity tracking isn’t wired up.</p>
|
||
</div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-OnlineRepository" class="impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#193-1085">Source</a><a href="#impl-OnlineRepository" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.OnlineRepository.html" title="struct jellytau_lib::repository::online::OnlineRepository">OnlineRepository</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.user_id" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#196-198">Source</a><h4 class="code-header">pub fn <a href="#method.user_id" class="fn">user_id</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a></h4></section></summary><div class="docblock"><p>The signed-in user these requests are made as. Needed by the favourites
|
||
drain, which reads this user’s queued rows. TRACES: UR-069 | DR-120</p>
|
||
</div></details><section id="method.new" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#200-213">Source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
|
||
http_client: <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../jellyfin/http_client/struct.HttpClient.html" title="struct jellytau_lib::jellyfin::http_client::HttpClient">HttpClient</a>>,
|
||
server_url: <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
|
||
user_id: <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
|
||
access_token: <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
|
||
) -> Self</h4></section><details class="toggle method-toggle" open><summary><section id="method.with_connectivity" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#217-220">Source</a><h4 class="code-header">pub fn <a href="#method.with_connectivity" class="fn">with_connectivity</a>(self, reporter: <a class="struct" href="../../connectivity/struct.ConnectivityReporter.html" title="struct jellytau_lib::connectivity::ConnectivityReporter">ConnectivityReporter</a>) -> Self</h4></section></summary><div class="docblock"><p>Attach a connectivity reporter so server outcomes drive the reachability
|
||
state observed by the UI. See <code>report_outcome</code>.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.report_outcome" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#230-250">Source</a><h4 class="code-header">async fn <a href="#method.report_outcome" class="fn">report_outcome</a><T>(&self, result: &<a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>)</h4></section></summary><div class="docblock"><p>Feed a request outcome into the connectivity monitor.</p>
|
||
<p>Classification (matches docs/architecture/07-connectivity.md):</p>
|
||
<ul>
|
||
<li><code>Ok</code> / <code>Authentication</code> / <code>NotFound</code> / <code>Server</code> → the server answered,
|
||
so it is reachable → <code>report_success</code> (instant recovery).</li>
|
||
<li><code>Network</code> → connection-level failure → <code>report_network_failure</code>
|
||
(subject to the time-window debounce before going offline).</li>
|
||
<li><code>Database</code> → not a server signal → ignored.</li>
|
||
</ul>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.auth_header" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#253-255">Source</a><h4 class="code-header">fn <a href="#method.auth_header" class="fn">auth_header</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section></summary><div class="docblock"><p>Build authorization header</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.download_bytes" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#259-290">Source</a><h4 class="code-header">pub async fn <a href="#method.download_bytes" class="fn">download_bytes</a>(&self, url: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.u8.html">u8</a>>, <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>></h4></section></summary><div class="docblock"><p>Download raw bytes from a URL using the shared authenticated HTTP client.
|
||
Used by thumbnail cache to download images with proper auth and connection reuse.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_jray_actors" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#296-312">Source</a><h4 class="code-header">pub async fn <a href="#method.get_jray_actors" class="fn">get_jray_actors</a>(
|
||
&self,
|
||
item_id: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
t: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.f64.html">f64</a>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="struct.JRayActor.html" title="struct jellytau_lib::repository::online::JRayActor">JRayActor</a>>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>></h4></section></summary><div class="docblock"><p>Query the JRay plugin for the actors on screen at time <code>t</code> (seconds) in
|
||
the given item. Returns an empty list when the plugin isn’t installed or
|
||
has no truth data for the item (HTTP 404), so callers can treat “no JRay”
|
||
and “nobody on screen” identically. Other failures propagate.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_json" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#315-330">Source</a><h4 class="code-header">async fn <a href="#method.get_json" class="fn">get_json</a><T: for<'de> <a class="trait" href="https://docs.rs/serde_core/1.0.228/serde_core/de/trait.Deserialize.html" title="trait serde_core::de::Deserialize">Deserialize</a><'de>>(
|
||
&self,
|
||
endpoint: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>></h4></section></summary><div class="docblock"><p>Make authenticated GET request</p>
|
||
</div></details><section id="method.get_json_inner" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#332-396">Source</a><h4 class="code-header">async fn <a href="#method.get_json_inner" class="fn">get_json_inner</a><T: for<'de> <a class="trait" href="https://docs.rs/serde_core/1.0.228/serde_core/de/trait.Deserialize.html" title="trait serde_core::de::Deserialize">Deserialize</a><'de>>(
|
||
&self,
|
||
endpoint: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>></h4></section><details class="toggle method-toggle" open><summary><section id="method.post_json" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#399-403">Source</a><h4 class="code-header">async fn <a href="#method.post_json" class="fn">post_json</a><T: <a class="trait" href="https://docs.rs/serde_core/1.0.228/serde_core/ser/trait.Serialize.html" title="trait serde_core::ser::Serialize">Serialize</a>>(
|
||
&self,
|
||
endpoint: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
body: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.reference.html">&T</a>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>></h4></section></summary><div class="docblock"><p>Make authenticated POST request</p>
|
||
</div></details><section id="method.post_json_inner" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#405-446">Source</a><h4 class="code-header">async fn <a href="#method.post_json_inner" class="fn">post_json_inner</a><T: <a class="trait" href="https://docs.rs/serde_core/1.0.228/serde_core/ser/trait.Serialize.html" title="trait serde_core::ser::Serialize">Serialize</a>>(
|
||
&self,
|
||
endpoint: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
body: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.reference.html">&T</a>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>></h4></section><details class="toggle method-toggle" open><summary><section id="method.post_json_response" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#449-457">Source</a><h4 class="code-header">async fn <a href="#method.post_json_response" class="fn">post_json_response</a><T: <a class="trait" href="https://docs.rs/serde_core/1.0.228/serde_core/ser/trait.Serialize.html" title="trait serde_core::ser::Serialize">Serialize</a>, R: for<'de> <a class="trait" href="https://docs.rs/serde_core/1.0.228/serde_core/de/trait.Deserialize.html" title="trait serde_core::de::Deserialize">Deserialize</a><'de>>(
|
||
&self,
|
||
endpoint: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
body: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.reference.html">&T</a>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><R, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>></h4></section></summary><div class="docblock"><p>Make authenticated POST request and return response</p>
|
||
</div></details><section id="method.post_json_response_inner" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#459-520">Source</a><h4 class="code-header">async fn <a href="#method.post_json_response_inner" class="fn">post_json_response_inner</a><T: <a class="trait" href="https://docs.rs/serde_core/1.0.228/serde_core/ser/trait.Serialize.html" title="trait serde_core::ser::Serialize">Serialize</a>, R: for<'de> <a class="trait" href="https://docs.rs/serde_core/1.0.228/serde_core/de/trait.Deserialize.html" title="trait serde_core::de::Deserialize">Deserialize</a><'de>>(
|
||
&self,
|
||
endpoint: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
body: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.reference.html">&T</a>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><R, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>></h4></section><details class="toggle method-toggle" open><summary><section id="method.stop_transcode" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#531-562">Source</a><h4 class="code-header">async fn <a href="#method.stop_transcode" class="fn">stop_transcode</a>(&self, play_session_id: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>)</h4></section></summary><div class="docblock"><p>Ask the server to tear down a transcode this device started.</p>
|
||
<p>Best-effort and deliberately un-retried: it runs on the path that opens a
|
||
replacement stream, so a slow or failed stop must not delay playback. The
|
||
worst case if it does fail is the job Jellyfin would have reaped on its
|
||
own idle timer anyway — the new stream still has its own session id, so it
|
||
no longer collides with the old one.</p>
|
||
<p>TRACES: UR-074 | DR-177</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_video_stream_url" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#592-695">Source</a><h4 class="code-header">pub async fn <a href="#method.get_video_stream_url" class="fn">get_video_stream_url</a>(
|
||
&self,
|
||
item_id: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
media_source_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>>,
|
||
audio_stream_index: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i32.html">i32</a>>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>></h4></section></summary><div class="docblock"><p>Get a video stream URL (initial play, resume, transcoded seeking,
|
||
audio-track switching).</p>
|
||
<p>Returns an HLS master playlist (<code>/Videos/{id}/master.m3u8</code>) transcoded to
|
||
h264/aac. HLS is used rather than a progressive <code>stream.mp4</code> because the
|
||
HTML5 <code><video></code> element (via HLS.js) starts playing within seconds and can
|
||
seek within the stream, whereas a progressive MP4 transcode of HEVC source
|
||
forces the server to transcode the whole file before playback can begin —
|
||
which manifests as playback never starting.</p>
|
||
<p><strong>There is deliberately no start-position parameter.</strong> A playlist covers
|
||
the whole item and asking for segment N <em>is</em> the seek, so a position would
|
||
be redundant — and actively fatal: Jellyfin builds every segment URI by
|
||
echoing this playlist’s query string into it, while its segment handler
|
||
rejects <code>StartTimeTicks > 0</code> outright (<code>ArgumentException</code> → <code>400</code>). One
|
||
resume position here therefore 400s every segment of the stream, which
|
||
presents as a resumed episode that simply never plays while the same
|
||
episode from the beginning is fine. Resume by seeking the player once it
|
||
has loaded. (The progressive <code>/Audio/universal</code> builder below has no
|
||
segments and keeps its <code>StartTimeTicks</code>.)</p>
|
||
<p>The stream is built against the current <a href="fn.effective_streaming_quality.html" title="fn jellytau_lib::repository::online::effective_streaming_quality"><code>effective_streaming_quality</code></a>
|
||
ceiling (the per-playback override if one is set, else the device default):
|
||
<code>MaxStreamingBitrate</code>/<code>VideoBitrate</code>/<code>AudioBitrate</code>, plus a <code>MaxHeight</code>
|
||
that suits the budget. <code>Original</code> keeps the historical 20/18 Mbps
|
||
allowance, which is a transcode ceiling rather than a user-facing limit.</p>
|
||
<p>TRACES: UR-004, UR-074 | DR-140, DR-162, DR-177, DR-181 | UT-130, UT-156, UT-173, UT-182</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.build_audio_only_stream_url_for_video" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#718-771">Source</a><h4 class="code-header">pub async fn <a href="#method.build_audio_only_stream_url_for_video" class="fn">build_audio_only_stream_url_for_video</a>(
|
||
&self,
|
||
item_id: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
media_source_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>>,
|
||
start_time_seconds: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.f64.html">f64</a>>,
|
||
audio_stream_index: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i32.html">i32</a>>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>></h4></section></summary><div class="docblock"><p>Get an <strong>audio-only</strong> stream URL for a <em>video</em> item, for the
|
||
background-audio handoff (UR-040).</p>
|
||
<p>TRACES: UR-040 | JA-032, DR-140 | UT-059, UT-130</p>
|
||
<p>This deliberately targets <code>/Audio/{id}/universal</code>, NOT the video stream:
|
||
the server extracts/transcodes only the item’s audio track and streams
|
||
pure audio bytes — no video frames reach the device, so there is no client
|
||
video decode while backgrounded. Do NOT “optimize” this to reuse the
|
||
<code>/Videos/.../master.m3u8</code> URL: that would keep the device decoding video,
|
||
defeating the entire point of the feature.</p>
|
||
<p><code>AudioStreamIndex</code> carries the user’s currently-selected audio track over
|
||
from the video player; <code>StartTimeTicks</code> resumes at the handoff position.
|
||
<code>universal</code> lets the server pick direct-play vs transcode per codec/device.</p>
|
||
<p>The stream is a <strong>progressive</strong> container (mp3 over plain HTTP), NOT HLS:
|
||
ExoPlayer plays this natively, whereas an HLS/<code>ts</code> transcode on the
|
||
<code>/universal</code> endpoint (no <code>.m3u8</code> in the path) fails its progressive
|
||
loader with <code>ERROR_CODE_PARSING_CONTAINER_UNSUPPORTED</code>. mp3 is universally
|
||
decodable and supports mid-stream <code>StartTimeTicks</code>.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.negotiate_playback" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#782-935">Source</a><h4 class="code-header">async fn <a href="#method.negotiate_playback" class="fn">negotiate_playback</a>(
|
||
&self,
|
||
item_id: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(<a class="struct" href="struct.NegotiatedSource.html" title="struct jellytau_lib::repository::online::NegotiatedSource">NegotiatedSource</a>, <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>), <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>></h4></section></summary><div class="docblock"><p>Ask the server what it will do with this item, under our device profile
|
||
and the ceiling currently in force.</p>
|
||
<p>The single place the device profile is built and POSTed. Both
|
||
<a href="struct.OnlineRepository.html#method.get_playback_info" title="method jellytau_lib::repository::online::OnlineRepository::get_playback_info"><code>get_playback_info</code></a> (the legacy shape) and
|
||
<code>get_stream_selection</code> (the DR-225 contract) go through it, so the
|
||
profile they negotiate under cannot drift apart.</p>
|
||
<p>TRACES: UR-004, UR-074, UR-079 | DR-225, DR-228</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_stream_selection" class="method"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#952-1084">Source</a><h4 class="code-header">pub async fn <a href="#method.get_stream_selection" class="fn">get_stream_selection</a>(
|
||
&self,
|
||
item_id: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
media_source_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>>,
|
||
audio_stream_index: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i32.html">i32</a>>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../stream_selection/struct.StreamSelection.html" title="struct jellytau_lib::repository::stream_selection::StreamSelection">StreamSelection</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>></h4></section></summary><div class="docblock"><p>Decide what stream to play, and describe it fully enough that no consumer
|
||
has to guess.</p>
|
||
<p>This replaces <code>get_video_stream_url</code>’s “always build an HLS transcode”
|
||
with an actual decision. Measured against the development server, that
|
||
distinction is worth 85% of plays on Android (ExoPlayer decodes hevc, and
|
||
the sampled library is ~80% hevc) and about 7% on Linux, where the
|
||
WebKitGTK profile can only claim h264 until the native-video work lands.
|
||
The Linux figure is a property of the renderer, not of this code.</p>
|
||
<p>The returned <a href="../stream_selection/struct.StreamSelection.html" title="struct jellytau_lib::repository::stream_selection::StreamSelection"><code>StreamSelection</code></a> carries the transport explicitly so the
|
||
frontend stops testing the URL for <code>.m3u8</code>, and the quality ladder for
|
||
<em>this</em> source so the picker stops offering rungs that mean nothing for it.</p>
|
||
<p>TRACES: UR-070, UR-079 | DR-225, DR-226, DR-227, DR-228 | UT-213</p>
|
||
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-MediaRepository-for-OnlineRepository" class="impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#1670-2986">Source</a><a href="#impl-MediaRepository-for-OnlineRepository" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../trait.MediaRepository.html" title="trait jellytau_lib::repository::MediaRepository">MediaRepository</a> for <a class="struct" href="struct.OnlineRepository.html" title="struct jellytau_lib::repository::online::OnlineRepository">OnlineRepository</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get_item" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#1734-1741">Source</a><a href="#method.get_item" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_item" class="fn">get_item</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
item_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Fetch one item with every field the detail and player screens need.</p>
|
||
<p>The <code>Fields=</code> list is the load-bearing part: Jellyfin omits these unless
|
||
they are named. <code>MediaStreams</code> is what makes the item’s <strong>audio and
|
||
subtitle tracks</strong> knowable at all — there is no separate “tracks”
|
||
endpoint, so this single call is how the player learns which audio tracks
|
||
an item offers (<code>to_media_item</code> maps them, and the player’s selector
|
||
filters them by <code>kind</code>). <code>People</code> is likewise how <strong>cast and crew</strong> are
|
||
obtained.</p>
|
||
<p>TRACES: UR-021, UR-035 | IR-016, IR-022, JA-005, JA-009</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_resume_items" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#1765-1786">Source</a><a href="#method.get_resume_items" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_resume_items" class="fn">get_resume_items</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
parent_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>>,
|
||
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Continue Watching: the items this user has started and not finished.</p>
|
||
<p><code>/Users/{uid}/Items/Resume</code> is the server-side answer to both “what goes
|
||
in the Continue Watching row” and “where was this left off” — each item
|
||
carries its own <code>UserData.PlaybackPositionTicks</code>, which is why <code>UserData</code>
|
||
is named in <code>Fields=</code> rather than left to the server’s default field set.</p>
|
||
<p>TRACES: UR-019, UR-023 | IR-024, JA-013, JA-015</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_next_up_episodes" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#1792-1805">Source</a><a href="#method.get_next_up_episodes" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_next_up_episodes" class="fn">get_next_up_episodes</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
series_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>>,
|
||
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>“Next Up”: the episode that follows the ones this user has finished,
|
||
per series — the Shows-scoped counterpart to Continue Watching.</p>
|
||
<p>TRACES: UR-023, UR-059 | IR-024, JA-014</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_resume_movies" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#1970-1983">Source</a><a href="#method.get_resume_movies" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_resume_movies" class="fn">get_resume_movies</a><'life0, 'async_trait>(
|
||
&'life0 self,
|
||
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Continue Watching, narrowed to movies — the home screen’s movie row and
|
||
the movie library’s own hero both want the unfinished films without the
|
||
episodes mixed in.</p>
|
||
<p>TRACES: UR-019, UR-034 | IR-024, JA-013, JA-015</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.search" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2053-2095">Source</a><a href="#method.search" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.search" class="fn">search</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
query: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../types/struct.SearchOptions.html" title="struct jellytau_lib::repository::types::SearchOptions">SearchOptions</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Search every library the user can see.</p>
|
||
<p><code>Recursive=true</code> with no <code>ParentId</code> is what makes this cross-library
|
||
rather than folder-scoped; a caller narrowing the search passes the item
|
||
types through <code>SearchOptions</code> (already expanded from an opaque
|
||
<code>SearchScope</code> on this side of the boundary).</p>
|
||
<p>TRACES: UR-008 | IR-010, JA-006</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_video_download_url" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2464-2564">Source</a><a href="#method.get_video_download_url" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_video_download_url" class="fn">get_video_download_url</a>(
|
||
&self,
|
||
item_id: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
quality: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
media_source_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>>,
|
||
source_audio_codec: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section></summary><div class="docblock"><p>TRACES: UR-071 | DR-123</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_favorites" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2576-2592">Source</a><a href="#method.get_favorites" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_favorites" class="fn">get_favorites</a><'life0, 'async_trait>(
|
||
&'life0 self,
|
||
scope: <a class="enum" href="../types/enum.SearchScope.html" title="enum jellytau_lib::repository::types::SearchScope">SearchScope</a>,
|
||
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../types/struct.GetItemsOptions.html" title="struct jellytau_lib::repository::types::GetItemsOptions">GetItemsOptions</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>TRACES: UR-067 | DR-115, JA-033 | UT-100</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.unmark_favorite" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2600-2639">Source</a><a href="#method.unmark_favorite" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.unmark_favorite" class="fn">unmark_favorite</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
item_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Un-favourite an item: the same <code>/Users/{uid}/FavoriteItems/{id}</code> resource
|
||
as <a href="struct.OnlineRepository.html#method.mark_favorite" title="method jellytau_lib::repository::online::OnlineRepository::mark_favorite"><code>Self::mark_favorite</code></a>, removed rather than posted. Written out by
|
||
hand rather than through <code>post_json</code> because it is the one favourite call
|
||
that needs <code>DELETE</code>.</p>
|
||
<p>TRACES: UR-017 | JA-018, DR-021</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.clear_watch_history" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2646-2685">Source</a><a href="#method.clear_watch_history" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.clear_watch_history" class="fn">clear_watch_history</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
item_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p><code>DELETE /Users/{userId}/PlayedItems/{itemId}</code> — Jellyfin’s “mark
|
||
unplayed”, which also zeroes the resume position. On a folder (series,
|
||
season) the server applies it recursively to the children.</p>
|
||
<p>TRACES: UR-064 | DR-106, JA-033</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.mark_played" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2691-2731">Source</a><a href="#method.mark_played" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.mark_played" class="fn">mark_played</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
item_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p><code>POST /Users/{userId}/PlayedItems/{itemId}</code> — the mirror image of
|
||
<code>clear_watch_history</code>.</p>
|
||
<p>TRACES: UR-025 | DR-131 | JA-035</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_person" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2740-2748">Source</a><a href="#method.get_person" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_person" class="fn">get_person</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
person_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>A single Person item (actor, director, …) by id.</p>
|
||
<p>Jellyfin models people as ordinary items, so this is the plain item
|
||
endpoint rather than anything under <code>/Persons</code>; the cast entries returned
|
||
on an item’s <code>People</code> field carry the ids this is called with.</p>
|
||
<p>TRACES: UR-035, UR-036 | IR-022, JA-030</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_items_by_person" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2753-2784">Source</a><a href="#method.get_items_by_person" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_items_by_person" class="fn">get_items_by_person</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
person_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../types/struct.GetItemsOptions.html" title="struct jellytau_lib::repository::types::GetItemsOptions">GetItemsOptions</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>A person’s filmography — every item they are credited on.</p>
|
||
<p>TRACES: UR-036 | IR-022, JA-031</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_libraries" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#1671-1702">Source</a><a href="#method.get_libraries" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_libraries" class="fn">get_libraries</a><'life0, 'async_trait>(
|
||
&'life0 self,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../types/struct.Library.html" title="struct jellytau_lib::repository::types::Library">Library</a>>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,</div></h4></section></summary><div class='docblock'>Get all libraries <a href="../trait.MediaRepository.html#tymethod.get_libraries">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.get_items" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#1704-1721">Source</a><a href="#method.get_items" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_items" class="fn">get_items</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
parent_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../types/struct.GetItemsOptions.html" title="struct jellytau_lib::repository::types::GetItemsOptions">GetItemsOptions</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Get items in a library or parent <a href="../trait.MediaRepository.html#tymethod.get_items">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.get_latest_items" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#1743-1755">Source</a><a href="#method.get_latest_items" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_latest_items" class="fn">get_latest_items</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
parent_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Get latest items in a library <a href="../trait.MediaRepository.html#tymethod.get_latest_items">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.get_recently_played_audio" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#1807-1937">Source</a><a href="#method.get_recently_played_audio" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_recently_played_audio" class="fn">get_recently_played_audio</a><'life0, 'async_trait>(
|
||
&'life0 self,
|
||
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,</div></h4></section></summary><div class='docblock'>Get recently played audio</div></details><details class="toggle method-toggle" open><summary><section id="method.get_rediscover_albums" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#1939-1963">Source</a><a href="#method.get_rediscover_albums" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_rediscover_albums" class="fn">get_rediscover_albums</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
parent_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>>,
|
||
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Get albums the user has played, but not recently (“rediscover” / haven’t
|
||
listened to in a while). Returns albums sorted by least-recently played
|
||
first, optionally restricted to a parent library.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_genres" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#1985-2043">Source</a><a href="#method.get_genres" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_genres" class="fn">get_genres</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
parent_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../types/struct.Genre.html" title="struct jellytau_lib::repository::types::Genre">Genre</a>>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Get genres</div></details><details class="toggle method-toggle" open><summary><section id="method.get_playback_info" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2097-2191">Source</a><a href="#method.get_playback_info" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_playback_info" class="fn">get_playback_info</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
item_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../types/struct.PlaybackInfo.html" title="struct jellytau_lib::repository::types::PlaybackInfo">PlaybackInfo</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Get playback info for streaming <a href="../trait.MediaRepository.html#tymethod.get_playback_info">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.get_audio_stream_url" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2193-2200">Source</a><a href="#method.get_audio_stream_url" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_audio_stream_url" class="fn">get_audio_stream_url</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
item_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Get audio stream URL for a track <a href="../trait.MediaRepository.html#tymethod.get_audio_stream_url">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.get_audio_only_stream_url_for_video" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2202-2216">Source</a><a href="#method.get_audio_only_stream_url_for_video" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_audio_only_stream_url_for_video" class="fn">get_audio_only_stream_url_for_video</a><'life0, 'life1, 'life2, 'async_trait>(
|
||
&'life0 self,
|
||
item_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
media_source_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&'life2 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>>,
|
||
start_time_seconds: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.f64.html">f64</a>>,
|
||
audio_stream_index: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i32.html">i32</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,
|
||
'life2: 'async_trait,</div></h4></section></summary><div class='docblock'>Get an audio-only stream URL for a <em>video</em> item (background-audio handoff). <a href="../trait.MediaRepository.html#tymethod.get_audio_only_stream_url_for_video">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.get_live_tv_channels" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2218-2231">Source</a><a href="#method.get_live_tv_channels" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_live_tv_channels" class="fn">get_live_tv_channels</a><'life0, 'async_trait>(
|
||
&'life0 self,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,</div></h4></section></summary><div class='docblock'>Get Live TV channels (broadcast / IPTV) for browsing.</div></details><details class="toggle method-toggle" open><summary><section id="method.get_channels" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2233-2248">Source</a><a href="#method.get_channels" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_channels" class="fn">get_channels</a><'life0, 'async_trait>(
|
||
&'life0 self,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,</div></h4></section></summary><div class='docblock'>Get the root list of plugin “Channels” (Jellyfin Channels feature).
|
||
Drill-down into a channel reuses <code>get_items(channel_id, ...)</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.open_live_stream" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2250-2341">Source</a><a href="#method.open_live_stream" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.open_live_stream" class="fn">open_live_stream</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
item_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../types/struct.LiveStreamInfo.html" title="struct jellytau_lib::repository::types::LiveStreamInfo">LiveStreamInfo</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Open a live stream (Live TV channel or live channel item) for playback. <a href="../trait.MediaRepository.html#tymethod.open_live_stream">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.report_playback_start" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2343-2365">Source</a><a href="#method.report_playback_start" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.report_playback_start" class="fn">report_playback_start</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
item_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
position_ticks: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i64.html">i64</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Report playback start <a href="../trait.MediaRepository.html#tymethod.report_playback_start">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.report_playback_progress" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2367-2387">Source</a><a href="#method.report_playback_progress" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.report_playback_progress" class="fn">report_playback_progress</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
item_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
position_ticks: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i64.html">i64</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Report playback progress <a href="../trait.MediaRepository.html#tymethod.report_playback_progress">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.report_playback_stopped" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2389-2407">Source</a><a href="#method.report_playback_stopped" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.report_playback_stopped" class="fn">report_playback_stopped</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
item_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
position_ticks: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i64.html">i64</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Report playback stopped <a href="../trait.MediaRepository.html#tymethod.report_playback_stopped">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.get_image_url" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2409-2448">Source</a><a href="#method.get_image_url" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_image_url" class="fn">get_image_url</a>(
|
||
&self,
|
||
item_id: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
image_type: <a class="enum" href="../types/enum.ImageType.html" title="enum jellytau_lib::repository::types::ImageType">ImageType</a>,
|
||
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../types/struct.ImageOptions.html" title="struct jellytau_lib::repository::types::ImageOptions">ImageOptions</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section></summary><div class='docblock'>Get image URL (synchronous - just constructs URL)</div></details><details class="toggle method-toggle" open><summary><section id="method.get_subtitle_url" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2450-2461">Source</a><a href="#method.get_subtitle_url" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_subtitle_url" class="fn">get_subtitle_url</a>(
|
||
&self,
|
||
item_id: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
media_source_id: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
stream_index: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i32.html">i32</a>,
|
||
format: &<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section></summary><div class='docblock'>Get subtitle URL (synchronous - just constructs URL)
|
||
Called by frontend via Tauri invoke (getSubtitleUrl in VideoPlayer.svelte)</div></details><details class="toggle method-toggle" open><summary><section id="method.mark_favorite" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2566-2573">Source</a><a href="#method.mark_favorite" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.mark_favorite" class="fn">mark_favorite</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
item_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Mark item as favorite</div></details><details class="toggle method-toggle" open><summary><section id="method.get_similar_items" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2786-2808">Source</a><a href="#method.get_similar_items" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_similar_items" class="fn">get_similar_items</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
item_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Get similar/related items for a movie or show <a href="../trait.MediaRepository.html#tymethod.get_similar_items">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.create_playlist" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2812-2830">Source</a><a href="#method.create_playlist" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.create_playlist" class="fn">create_playlist</a><'life0, 'life1, 'life2, 'async_trait>(
|
||
&'life0 self,
|
||
name: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
item_ids: &'life2 [<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>],
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../types/struct.PlaylistCreatedResult.html" title="struct jellytau_lib::repository::types::PlaylistCreatedResult">PlaylistCreatedResult</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,
|
||
'life2: 'async_trait,</div></h4></section></summary><div class='docblock'>Create a new playlist on the server <a href="../trait.MediaRepository.html#tymethod.create_playlist">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.delete_playlist" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2832-2862">Source</a><a href="#method.delete_playlist" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.delete_playlist" class="fn">delete_playlist</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
playlist_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Delete a playlist <a href="../trait.MediaRepository.html#tymethod.delete_playlist">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.rename_playlist" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2864-2872">Source</a><a href="#method.rename_playlist" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.rename_playlist" class="fn">rename_playlist</a><'life0, 'life1, 'life2, 'async_trait>(
|
||
&'life0 self,
|
||
playlist_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
name: &'life2 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,
|
||
'life2: 'async_trait,</div></h4></section></summary><div class='docblock'>Rename a playlist <a href="../trait.MediaRepository.html#tymethod.rename_playlist">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.get_playlist_items" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2874-2895">Source</a><a href="#method.get_playlist_items" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.get_playlist_items" class="fn">get_playlist_items</a><'life0, 'life1, 'async_trait>(
|
||
&'life0 self,
|
||
playlist_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../types/struct.PlaylistEntry.html" title="struct jellytau_lib::repository::types::PlaylistEntry">PlaylistEntry</a>>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,</div></h4></section></summary><div class='docblock'>Get playlist items with PlaylistItemId (needed for remove/reorder) <a href="../trait.MediaRepository.html#tymethod.get_playlist_items">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.add_to_playlist" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2897-2919">Source</a><a href="#method.add_to_playlist" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.add_to_playlist" class="fn">add_to_playlist</a><'life0, 'life1, 'life2, 'async_trait>(
|
||
&'life0 self,
|
||
playlist_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
item_ids: &'life2 [<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>],
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,
|
||
'life2: 'async_trait,</div></h4></section></summary><div class='docblock'>Add items to a playlist <a href="../trait.MediaRepository.html#tymethod.add_to_playlist">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.remove_from_playlist" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2921-2968">Source</a><a href="#method.remove_from_playlist" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.remove_from_playlist" class="fn">remove_from_playlist</a><'life0, 'life1, 'life2, 'async_trait>(
|
||
&'life0 self,
|
||
playlist_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
entry_ids: &'life2 [<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>],
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,
|
||
'life2: 'async_trait,</div></h4></section></summary><div class='docblock'>Remove items from a playlist using entry IDs (PlaylistItemId, NOT media item IDs) <a href="../trait.MediaRepository.html#tymethod.remove_from_playlist">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.move_playlist_item" class="method trait-impl"><a class="src rightside" href="../../../src/jellytau_lib/repository/online.rs.html#2970-2985">Source</a><a href="#method.move_playlist_item" class="anchor">§</a><h4 class="code-header">fn <a href="../trait.MediaRepository.html#tymethod.move_playlist_item" class="fn">move_playlist_item</a><'life0, 'life1, 'life2, 'async_trait>(
|
||
&'life0 self,
|
||
playlist_id: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
item_id: &'life2 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
|
||
new_index: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.u32.html">u32</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="../types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>>> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait>><div class="where">where
|
||
Self: 'async_trait,
|
||
'life0: 'async_trait,
|
||
'life1: 'async_trait,
|
||
'life2: 'async_trait,</div></h4></section></summary><div class='docblock'>Move a playlist item to a new position <a href="../trait.MediaRepository.html#tymethod.move_playlist_item">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-OnlineRepository" class="impl"><a href="#impl-Freeze-for-OnlineRepository" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.OnlineRepository.html" title="struct jellytau_lib::repository::online::OnlineRepository">OnlineRepository</a></h3></section><section id="impl-RefUnwindSafe-for-OnlineRepository" class="impl"><a href="#impl-RefUnwindSafe-for-OnlineRepository" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.97.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.OnlineRepository.html" title="struct jellytau_lib::repository::online::OnlineRepository">OnlineRepository</a></h3></section><section id="impl-Send-for-OnlineRepository" class="impl"><a href="#impl-Send-for-OnlineRepository" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.OnlineRepository.html" title="struct jellytau_lib::repository::online::OnlineRepository">OnlineRepository</a></h3></section><section id="impl-Sync-for-OnlineRepository" class="impl"><a href="#impl-Sync-for-OnlineRepository" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.OnlineRepository.html" title="struct jellytau_lib::repository::online::OnlineRepository">OnlineRepository</a></h3></section><section id="impl-Unpin-for-OnlineRepository" class="impl"><a href="#impl-Unpin-for-OnlineRepository" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.OnlineRepository.html" title="struct jellytau_lib::repository::online::OnlineRepository">OnlineRepository</a></h3></section><section id="impl-UnsafeUnpin-for-OnlineRepository" class="impl"><a href="#impl-UnsafeUnpin-for-OnlineRepository" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.UnsafeUnpin.html" title="trait core::marker::UnsafeUnpin">UnsafeUnpin</a> for <a class="struct" href="struct.OnlineRepository.html" title="struct jellytau_lib::repository::online::OnlineRepository">OnlineRepository</a></h3></section><section id="impl-UnwindSafe-for-OnlineRepository" class="impl"><a href="#impl-UnwindSafe-for-OnlineRepository" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.97.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.OnlineRepository.html" title="struct jellytau_lib::repository::online::OnlineRepository">OnlineRepository</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/any.rs.html#141">Source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
|
||
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/any.rs.html#142">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.97.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.97.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/borrow.rs.html#212">Source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/borrow.rs.html#214">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.97.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.reference.html">&T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.97.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/borrow.rs.html#221">Source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/borrow.rs.html#222">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.97.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.reference.html">&mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.97.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/convert/mod.rs.html#786">Source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/convert/mod.rs.html#789">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.97.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-T" class="impl"><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -> Instrumented<Self></h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
|
||
<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -> Instrumented<Self></h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
|
||
<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/convert/mod.rs.html#768-770">Source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/convert/mod.rs.html#778">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.97.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
|
||
<p>That is, this conversion is whatever the implementation of
|
||
<code><a href="https://doc.rust-lang.org/1.97.1/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-PolicyExt-for-T" class="impl"><a href="#impl-PolicyExt-for-T" class="anchor">§</a><h3 class="code-header">impl<T> PolicyExt for T<div class="where">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.and" class="method trait-impl"><a href="#method.and" class="anchor">§</a><h4 class="code-header">fn <a class="fn">and</a><P, B, E>(self, other: P) -> And<T, P><div class="where">where
|
||
T: Policy<B, E>,
|
||
P: Policy<B, E>,</div></h4></section></summary><div class='docblock'>Create a new <code>Policy</code> that returns [<code>Action::Follow</code>] only if <code>self</code> and <code>other</code> return
|
||
<code>Action::Follow</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.or" class="method trait-impl"><a href="#method.or" class="anchor">§</a><h4 class="code-header">fn <a class="fn">or</a><P, B, E>(self, other: P) -> Or<T, P><div class="where">where
|
||
T: Policy<B, E>,
|
||
P: Policy<B, E>,</div></h4></section></summary><div class='docblock'>Create a new <code>Policy</code> that returns [<code>Action::Follow</code>] if either <code>self</code> or <code>other</code> returns
|
||
<code>Action::Follow</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same-for-T" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.19.0/src/typenum/type_operators.rs.html#34">Source</a><a href="#impl-Same-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://docs.rs/typenum/1.19.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a> for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a class="src rightside" href="https://docs.rs/typenum/1.19.0/src/typenum/type_operators.rs.html#35">Source</a><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.19.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/convert/mod.rs.html#828-830">Source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/convert/mod.rs.html#832">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.97.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/convert/mod.rs.html#835">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.97.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.97.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/convert/mod.rs.html#812-814">Source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/convert/mod.rs.html#816">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.97.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.97.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.97.1/src/core/convert/mod.rs.html#819">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.97.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.97.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-T" class="impl"><a href="#impl-VZip%3CV%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<V, T> VZip<V> for T<div class="where">where
|
||
V: MultiLane<T>,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -> V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-T" class="impl"><a href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 class="code-header">impl<T> WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a><S>(self, subscriber: S) -> WithDispatch<Self><div class="where">where
|
||
S: <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><Dispatch>,</div></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
|
||
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -> WithDispatch<Self></h4></section></summary><div class='docblock'>Attaches the current <a href="dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
|
||
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details></div></section></div></main></body></html> |