59 lines
43 KiB
HTML
59 lines
43 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="Raw reader-writer lock type backed by the parking lot."><meta name="keywords" content="rust, rustlang, rust-lang, RawRwLock"><title>parking_lot::RawRwLock - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../parking_lot/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Struct RawRwLock</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-RawRwLock">RawRwLock</a><a href="#impl-RawRwLockDowngrade">RawRwLockDowngrade</a><a href="#impl-RawRwLockFair">RawRwLockFair</a><a href="#impl-RawRwLockRecursive">RawRwLockRecursive</a><a href="#impl-RawRwLockRecursiveTimed">RawRwLockRecursiveTimed</a><a href="#impl-RawRwLockTimed">RawRwLockTimed</a><a href="#impl-RawRwLockUpgrade">RawRwLockUpgrade</a><a href="#impl-RawRwLockUpgradeDowngrade">RawRwLockUpgradeDowngrade</a><a href="#impl-RawRwLockUpgradeFair">RawRwLockUpgradeFair</a><a href="#impl-RawRwLockUpgradeTimed">RawRwLockUpgradeTimed</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><p class="location"><a href="index.html">parking_lot</a></p><div id="sidebar-vars" data-name="RawRwLock" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="index.html">parking_lot</a>::<wbr><a class="struct" href="">RawRwLock</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#56-58" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct RawRwLock { /* fields omitted */ }</pre></div><div class="docblock"><p>Raw reader-writer lock type backed by the parking lot.</p>
|
||
</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-RawRwLock" class="impl"><code class="in-band">impl <a class="trait" href="../lock_api/rwlock/trait.RawRwLock.html" title="trait lock_api::rwlock::RawRwLock">RawRwLock</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-RawRwLock" class="anchor"></a><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#60-147" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedconstant.INIT" class="associatedconstant hidden"><code>const <a href="../lock_api/rwlock/trait.RawRwLock.html#associatedconstant.INIT" class="constant"><b>INIT</b></a>: <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#61-63" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Initial value for an unlocked <code>RwLock</code>.</p>
|
||
</div><h4 id="associatedtype.GuardMarker" class="type"><code>type <a href="../lock_api/rwlock/trait.RawRwLock.html#associatedtype.GuardMarker" class="type">GuardMarker</a> = <a class="struct" href="../lock_api/struct.GuardNoSend.html" title="struct lock_api::GuardNoSend">GuardNoSend</a></code></h4><div class='docblock'><p>Marker type which determines whether a lock guard should be <code>Send</code>. Use
|
||
one of the <code>GuardSend</code> or <code>GuardNoSend</code> helper types here. <a href="../lock_api/rwlock/trait.RawRwLock.html#associatedtype.GuardMarker">Read more</a></p>
|
||
</div><h4 id="method.lock_exclusive" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLock.html#tymethod.lock_exclusive" class="fnname">lock_exclusive</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#68-78" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Acquires an exclusive lock, blocking the current thread until it is able to do so.</p>
|
||
</div><h4 id="method.try_lock_exclusive" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLock.html#tymethod.try_lock_exclusive" class="fnname">try_lock_exclusive</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#81-92" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to acquire an exclusive lock without blocking.</p>
|
||
</div><h4 id="method.unlock_exclusive" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLock.html#tymethod.unlock_exclusive" class="fnname">unlock_exclusive</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#95-105" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Releases an exclusive lock. <a href="../lock_api/rwlock/trait.RawRwLock.html#tymethod.unlock_exclusive">Read more</a></p>
|
||
</div><h4 id="method.lock_shared" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLock.html#tymethod.lock_shared" class="fnname">lock_shared</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#108-114" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Acquires a shared lock, blocking the current thread until it is able to do so.</p>
|
||
</div><h4 id="method.try_lock_shared" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLock.html#tymethod.try_lock_shared" class="fnname">try_lock_shared</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#117-127" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to acquire a shared lock without blocking.</p>
|
||
</div><h4 id="method.unlock_shared" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLock.html#tymethod.unlock_shared" class="fnname">unlock_shared</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#130-140" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Releases a shared lock. <a href="../lock_api/rwlock/trait.RawRwLock.html#tymethod.unlock_shared">Read more</a></p>
|
||
</div><h4 id="method.is_locked" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLock.html#method.is_locked" class="fnname">is_locked</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#143-146" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Checks if this <code>RwLock</code> is currently locked in any way.</p>
|
||
</div></div><h3 id="impl-RawRwLockDowngrade" class="impl"><code class="in-band">impl <a class="trait" href="../lock_api/rwlock/trait.RawRwLockDowngrade.html" title="trait lock_api::rwlock::RawRwLockDowngrade">RawRwLockDowngrade</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-RawRwLockDowngrade" class="anchor"></a><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#186-198" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.downgrade" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLockDowngrade.html#tymethod.downgrade" class="fnname">downgrade</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#188-197" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Atomically downgrades an exclusive lock into a shared lock without
|
||
allowing any thread to take an exclusive lock in the meantime. <a href="../lock_api/rwlock/trait.RawRwLockDowngrade.html#tymethod.downgrade">Read more</a></p>
|
||
</div></div><h3 id="impl-RawRwLockFair" class="impl"><code class="in-band">impl <a class="trait" href="../lock_api/rwlock/trait.RawRwLockFair.html" title="trait lock_api::rwlock::RawRwLockFair">RawRwLockFair</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-RawRwLockFair" class="anchor"></a><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#149-184" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.unlock_shared_fair" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLockFair.html#tymethod.unlock_shared_fair" class="fnname">unlock_shared_fair</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#151-154" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Releases a shared lock using a fair unlock protocol. <a href="../lock_api/rwlock/trait.RawRwLockFair.html#tymethod.unlock_shared_fair">Read more</a></p>
|
||
</div><h4 id="method.unlock_exclusive_fair" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLockFair.html#tymethod.unlock_exclusive_fair" class="fnname">unlock_exclusive_fair</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#157-167" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Releases an exclusive lock using a fair unlock protocol. <a href="../lock_api/rwlock/trait.RawRwLockFair.html#tymethod.unlock_exclusive_fair">Read more</a></p>
|
||
</div><h4 id="method.bump_shared" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLockFair.html#method.bump_shared" class="fnname">bump_shared</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#170-176" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Temporarily yields a shared lock to a waiting thread if there is one. <a href="../lock_api/rwlock/trait.RawRwLockFair.html#method.bump_shared">Read more</a></p>
|
||
</div><h4 id="method.bump_exclusive" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLockFair.html#method.bump_exclusive" class="fnname">bump_exclusive</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#179-183" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Temporarily yields an exclusive lock to a waiting thread if there is one. <a href="../lock_api/rwlock/trait.RawRwLockFair.html#method.bump_exclusive">Read more</a></p>
|
||
</div></div><h3 id="impl-RawRwLockRecursive" class="impl"><code class="in-band">impl <a class="trait" href="../lock_api/rwlock/trait.RawRwLockRecursive.html" title="trait lock_api::rwlock::RawRwLockRecursive">RawRwLockRecursive</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-RawRwLockRecursive" class="anchor"></a><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#265-287" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.lock_shared_recursive" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLockRecursive.html#tymethod.lock_shared_recursive" class="fnname">lock_shared_recursive</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#267-273" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Acquires a shared lock without deadlocking in case of a recursive lock.</p>
|
||
</div><h4 id="method.try_lock_shared_recursive" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLockRecursive.html#tymethod.try_lock_shared_recursive" class="fnname">try_lock_shared_recursive</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#276-286" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to acquire a shared lock without deadlocking in case of a recursive lock.</p>
|
||
</div></div><h3 id="impl-RawRwLockRecursiveTimed" class="impl"><code class="in-band">impl <a class="trait" href="../lock_api/rwlock/trait.RawRwLockRecursiveTimed.html" title="trait lock_api::rwlock::RawRwLockRecursiveTimed">RawRwLockRecursiveTimed</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-RawRwLockRecursiveTimed" class="anchor"></a><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#289-315" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.try_lock_shared_recursive_for" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLockRecursiveTimed.html#tymethod.try_lock_shared_recursive_for" class="fnname">try_lock_shared_recursive_for</a>(&self, timeout: Self::<a class="type" href="../lock_api/rwlock/trait.RawRwLockTimed.html#associatedtype.Duration" title="type lock_api::rwlock::RawRwLockTimed::Duration">Duration</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#291-301" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to acquire a shared lock until a timeout is reached, without
|
||
deadlocking in case of a recursive lock. <a href="../lock_api/rwlock/trait.RawRwLockRecursiveTimed.html#tymethod.try_lock_shared_recursive_for">Read more</a></p>
|
||
</div><h4 id="method.try_lock_shared_recursive_until" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLockRecursiveTimed.html#tymethod.try_lock_shared_recursive_until" class="fnname">try_lock_shared_recursive_until</a>(&self, timeout: Self::<a class="type" href="../lock_api/rwlock/trait.RawRwLockTimed.html#associatedtype.Instant" title="type lock_api::rwlock::RawRwLockTimed::Instant">Instant</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#304-314" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to acquire a shared lock until a timeout is reached, without
|
||
deadlocking in case of a recursive lock. <a href="../lock_api/rwlock/trait.RawRwLockRecursiveTimed.html#tymethod.try_lock_shared_recursive_until">Read more</a></p>
|
||
</div></div><h3 id="impl-RawRwLockTimed" class="impl"><code class="in-band">impl <a class="trait" href="../lock_api/rwlock/trait.RawRwLockTimed.html" title="trait lock_api::rwlock::RawRwLockTimed">RawRwLockTimed</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-RawRwLockTimed" class="anchor"></a><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#200-263" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Duration" class="type"><code>type <a href="../lock_api/rwlock/trait.RawRwLockTimed.html#associatedtype.Duration" class="type">Duration</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a></code></h4><div class='docblock'><p>Duration type used for <code>try_lock_for</code>.</p>
|
||
</div><h4 id="associatedtype.Instant" class="type"><code>type <a href="../lock_api/rwlock/trait.RawRwLockTimed.html#associatedtype.Instant" class="type">Instant</a> = <a class="type" href="../instant/native/type.Instant.html" title="type instant::native::Instant">Instant</a></code></h4><div class='docblock'><p>Instant type used for <code>try_lock_until</code>.</p>
|
||
</div><h4 id="method.try_lock_shared_for" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLockTimed.html#tymethod.try_lock_shared_for" class="fnname">try_lock_shared_for</a>(&self, timeout: Self::<a class="type" href="../lock_api/rwlock/trait.RawRwLockTimed.html#associatedtype.Duration" title="type lock_api::rwlock::RawRwLockTimed::Duration">Duration</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#205-215" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to acquire a shared lock until a timeout is reached.</p>
|
||
</div><h4 id="method.try_lock_shared_until" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLockTimed.html#tymethod.try_lock_shared_until" class="fnname">try_lock_shared_until</a>(&self, timeout: Self::<a class="type" href="../lock_api/rwlock/trait.RawRwLockTimed.html#associatedtype.Instant" title="type lock_api::rwlock::RawRwLockTimed::Instant">Instant</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#218-228" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to acquire a shared lock until a timeout is reached.</p>
|
||
</div><h4 id="method.try_lock_exclusive_for" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLockTimed.html#tymethod.try_lock_exclusive_for" class="fnname">try_lock_exclusive_for</a>(&self, timeout: <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#231-245" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to acquire an exclusive lock until a timeout is reached.</p>
|
||
</div><h4 id="method.try_lock_exclusive_until" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLockTimed.html#tymethod.try_lock_exclusive_until" class="fnname">try_lock_exclusive_until</a>(&self, timeout: <a class="type" href="../instant/native/type.Instant.html" title="type instant::native::Instant">Instant</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#248-262" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to acquire an exclusive lock until a timeout is reached.</p>
|
||
</div></div><h3 id="impl-RawRwLockUpgrade" class="impl"><code class="in-band">impl <a class="trait" href="../lock_api/rwlock/trait.RawRwLockUpgrade.html" title="trait lock_api::rwlock::RawRwLockUpgrade">RawRwLockUpgrade</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-RawRwLockUpgrade" class="anchor"></a><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#317-390" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.lock_upgradable" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLockUpgrade.html#tymethod.lock_upgradable" class="fnname">lock_upgradable</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#319-325" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Acquires an upgradable lock, blocking the current thread until it is able to do so.</p>
|
||
</div><h4 id="method.try_lock_upgradable" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLockUpgrade.html#tymethod.try_lock_upgradable" class="fnname">try_lock_upgradable</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#328-338" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to acquire an upgradable lock without blocking.</p>
|
||
</div><h4 id="method.unlock_upgradable" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLockUpgrade.html#tymethod.unlock_upgradable" class="fnname">unlock_upgradable</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#341-359" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Releases an upgradable lock. <a href="../lock_api/rwlock/trait.RawRwLockUpgrade.html#tymethod.unlock_upgradable">Read more</a></p>
|
||
</div><h4 id="method.upgrade" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLockUpgrade.html#tymethod.upgrade" class="fnname">upgrade</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#362-371" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Upgrades an upgradable lock to an exclusive lock. <a href="../lock_api/rwlock/trait.RawRwLockUpgrade.html#tymethod.upgrade">Read more</a></p>
|
||
</div><h4 id="method.try_upgrade" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLockUpgrade.html#tymethod.try_upgrade" class="fnname">try_upgrade</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#374-389" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to upgrade an upgradable lock to an exclusive lock without
|
||
blocking. <a href="../lock_api/rwlock/trait.RawRwLockUpgrade.html#tymethod.try_upgrade">Read more</a></p>
|
||
</div></div><h3 id="impl-RawRwLockUpgradeDowngrade" class="impl"><code class="in-band">impl <a class="trait" href="../lock_api/rwlock/trait.RawRwLockUpgradeDowngrade.html" title="trait lock_api::rwlock::RawRwLockUpgradeDowngrade">RawRwLockUpgradeDowngrade</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-RawRwLockUpgradeDowngrade" class="anchor"></a><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#422-445" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.downgrade_upgradable" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLockUpgradeDowngrade.html#tymethod.downgrade_upgradable" class="fnname">downgrade_upgradable</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#424-431" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Downgrades an upgradable lock to a shared lock. <a href="../lock_api/rwlock/trait.RawRwLockUpgradeDowngrade.html#tymethod.downgrade_upgradable">Read more</a></p>
|
||
</div><h4 id="method.downgrade_to_upgradable" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLockUpgradeDowngrade.html#tymethod.downgrade_to_upgradable" class="fnname">downgrade_to_upgradable</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#434-444" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Downgrades an exclusive lock to an upgradable lock. <a href="../lock_api/rwlock/trait.RawRwLockUpgradeDowngrade.html#tymethod.downgrade_to_upgradable">Read more</a></p>
|
||
</div></div><h3 id="impl-RawRwLockUpgradeFair" class="impl"><code class="in-band">impl <a class="trait" href="../lock_api/rwlock/trait.RawRwLockUpgradeFair.html" title="trait lock_api::rwlock::RawRwLockUpgradeFair">RawRwLockUpgradeFair</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-RawRwLockUpgradeFair" class="anchor"></a><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#392-420" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.unlock_upgradable_fair" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLockUpgradeFair.html#tymethod.unlock_upgradable_fair" class="fnname">unlock_upgradable_fair</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#394-412" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Releases an upgradable lock using a fair unlock protocol. <a href="../lock_api/rwlock/trait.RawRwLockUpgradeFair.html#tymethod.unlock_upgradable_fair">Read more</a></p>
|
||
</div><h4 id="method.bump_upgradable" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLockUpgradeFair.html#method.bump_upgradable" class="fnname">bump_upgradable</a>(&self)</code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#415-419" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Temporarily yields an upgradable lock to a waiting thread if there is one. <a href="../lock_api/rwlock/trait.RawRwLockUpgradeFair.html#method.bump_upgradable">Read more</a></p>
|
||
</div></div><h3 id="impl-RawRwLockUpgradeTimed" class="impl"><code class="in-band">impl <a class="trait" href="../lock_api/rwlock/trait.RawRwLockUpgradeTimed.html" title="trait lock_api::rwlock::RawRwLockUpgradeTimed">RawRwLockUpgradeTimed</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-RawRwLockUpgradeTimed" class="anchor"></a><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#447-499" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.try_lock_upgradable_until" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLockUpgradeTimed.html#tymethod.try_lock_upgradable_until" class="fnname">try_lock_upgradable_until</a>(&self, timeout: <a class="type" href="../instant/native/type.Instant.html" title="type instant::native::Instant">Instant</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#449-459" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to acquire an upgradable lock until a timeout is reached.</p>
|
||
</div><h4 id="method.try_lock_upgradable_for" class="method hidden"><code>fn <a href="../lock_api/rwlock/trait.RawRwLockUpgradeTimed.html#tymethod.try_lock_upgradable_for" class="fnname">try_lock_upgradable_for</a>(&self, timeout: <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#462-472" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to acquire an upgradable lock until a timeout is reached.</p>
|
||
</div><h4 id="method.try_upgrade_until" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLockUpgradeTimed.html#tymethod.try_upgrade_until" class="fnname">try_upgrade_until</a>(&self, timeout: <a class="type" href="../instant/native/type.Instant.html" title="type instant::native::Instant">Instant</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#475-485" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to upgrade an upgradable lock to an exclusive lock until a
|
||
timeout is reached. <a href="../lock_api/rwlock/trait.RawRwLockUpgradeTimed.html#tymethod.try_upgrade_until">Read more</a></p>
|
||
</div><h4 id="method.try_upgrade_for" class="method hidden"><code>unsafe fn <a href="../lock_api/rwlock/trait.RawRwLockUpgradeTimed.html#tymethod.try_upgrade_for" class="fnname">try_upgrade_for</a>(&self, timeout: <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/parking_lot/raw_rwlock.rs.html#488-498" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Attempts to upgrade an upgradable lock to an exclusive lock until a
|
||
timeout is reached. <a href="../lock_api/rwlock/trait.RawRwLockUpgradeTimed.html#tymethod.try_upgrade_for">Read more</a></p>
|
||
</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../parking_lot/struct.RawRwLock.html" title="struct parking_lot::RawRwLock">RawRwLock</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
|
||
</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#207-211" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
|
||
</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214-218" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#215" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
|
||
</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545-549" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#546" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||
</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#534-541" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#538" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||
</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#582-591" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
|
||
</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#588" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||
</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#568-577" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
|
||
</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#574" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||
</div></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="parking_lot"></div>
|
||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html> |