Adding large folders

This commit is contained in:
2026-02-26 12:00:21 -05:00
parent 5400d82acd
commit 49701c85ad
47332 changed files with 1942573 additions and 0 deletions

View File

@@ -0,0 +1 @@
<!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="List of all items in this crate"><title>List of all items in this crate</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-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="parking_lot_core" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.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 mod sys"><!--[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="#">All</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../parking_lot_core/index.html">parking_<wbr>lot_<wbr>core</a><span class="version">0.9.12</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h3><a href="#structs">Crate Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#constants" title="Constants">Constants</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><h1>List of all items</h1><rustdoc-toolbar></rustdoc-toolbar></div><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="struct.ParkToken.html">ParkToken</a></li><li><a href="struct.SpinWait.html">SpinWait</a></li><li><a href="struct.UnparkResult.html">UnparkResult</a></li><li><a href="struct.UnparkToken.html">UnparkToken</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="enum.FilterOp.html">FilterOp</a></li><li><a href="enum.ParkResult.html">ParkResult</a></li><li><a href="enum.RequeueOp.html">RequeueOp</a></li></ul><h3 id="functions">Functions</h3><ul class="all-items"><li><a href="deadlock/fn.acquire_resource.html">deadlock::acquire_resource</a></li><li><a href="deadlock/fn.release_resource.html">deadlock::release_resource</a></li><li><a href="fn.park.html">park</a></li><li><a href="fn.unpark_all.html">unpark_all</a></li><li><a href="fn.unpark_filter.html">unpark_filter</a></li><li><a href="fn.unpark_one.html">unpark_one</a></li><li><a href="fn.unpark_requeue.html">unpark_requeue</a></li></ul><h3 id="constants">Constants</h3><ul class="all-items"><li><a href="constant.DEFAULT_PARK_TOKEN.html">DEFAULT_PARK_TOKEN</a></li><li><a href="constant.DEFAULT_UNPARK_TOKEN.html">DEFAULT_UNPARK_TOKEN</a></li></ul></section></div></main></body></html>

View File

@@ -0,0 +1,2 @@
<!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="A default park token to use."><title>DEFAULT_PARK_TOKEN in parking_lot_core - 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-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="parking_lot_core" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.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 constant"><!--[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="#">DEFAULT_PARK_TOKEN</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../parking_lot_core/index.html">parking_<wbr>lot_<wbr>core</a><span class="version">0.9.12</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">parking_lot_core</a></div><h1>Constant <span class="constant">DEFAULT_<wbr>PARK_<wbr>TOKEN</span>&nbsp;<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/parking_lot_core/parking_lot.rs.html#560">Source</a> </span></div><pre class="rust item-decl"><code>pub const DEFAULT_PARK_TOKEN: <a class="struct" href="struct.ParkToken.html" title="struct parking_lot_core::ParkToken">ParkToken</a>;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A default park token to use.</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,2 @@
<!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="A default unpark token to use."><title>DEFAULT_UNPARK_TOKEN in parking_lot_core - 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-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="parking_lot_core" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.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 constant"><!--[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="#">DEFAULT_UNPARK_TOKEN</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../parking_lot_core/index.html">parking_<wbr>lot_<wbr>core</a><span class="version">0.9.12</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">parking_lot_core</a></div><h1>Constant <span class="constant">DEFAULT_<wbr>UNPARK_<wbr>TOKEN</span>&nbsp;<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/parking_lot_core/parking_lot.rs.html#557">Source</a> </span></div><pre class="rust item-decl"><code>pub const DEFAULT_UNPARK_TOKEN: <a class="struct" href="struct.UnparkToken.html" title="struct parking_lot_core::UnparkToken">UnparkToken</a>;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A default unpark token to use.</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,5 @@
<!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="Acquire a resource identified by key in the deadlock detector Noop if `deadlock_detection` feature isnt enabled."><title>acquire_resource in parking_lot_core::deadlock - 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-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="parking_lot_core" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.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 fn"><!--[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="#">acquire_resource</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../parking_lot_core/index.html">parking_<wbr>lot_<wbr>core</a><span class="version">0.9.12</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">acquire_<wbr>resource</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#safety" title="Safety">Safety</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In parking_<wbr>lot_<wbr>core::<wbr>deadlock</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"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">parking_lot_core</a>::<wbr><a href="index.html">deadlock</a></div><h1>Function <span class="fn">acquire_<wbr>resource</span>&nbsp;<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/parking_lot_core/parking_lot.rs.html#1112-1115">Source</a> </span></div><pre class="rust item-decl"><code>pub unsafe fn acquire_resource(_key: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>)</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Acquire a resource identified by key in the deadlock detector
Noop if <code>deadlock_detection</code> feature isnt enabled.</p>
<h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
<p>Call after the resource is acquired</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,7 @@
<!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="Release a resource identified by key in the deadlock detector. Noop if `deadlock_detection` feature isnt enabled."><title>release_resource in parking_lot_core::deadlock - 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-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="parking_lot_core" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.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 fn"><!--[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="#">release_resource</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../parking_lot_core/index.html">parking_<wbr>lot_<wbr>core</a><span class="version">0.9.12</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">release_<wbr>resource</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#panics" title="Panics">Panics</a></li><li><a href="#safety" title="Safety">Safety</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In parking_<wbr>lot_<wbr>core::<wbr>deadlock</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"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">parking_lot_core</a>::<wbr><a href="index.html">deadlock</a></div><h1>Function <span class="fn">release_<wbr>resource</span>&nbsp;<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/parking_lot_core/parking_lot.rs.html#1128-1131">Source</a> </span></div><pre class="rust item-decl"><code>pub unsafe fn release_resource(_key: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>)</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Release a resource identified by key in the deadlock detector.
Noop if <code>deadlock_detection</code> feature isnt enabled.</p>
<h2 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h2>
<p>Panics if the resource was already released or wasnt acquired in this thread.</p>
<h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
<p>Call before the resource is released</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,5 @@
<!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="[Experimental] Deadlock detection"><title>parking_lot_core::deadlock - 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-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="parking_lot_core" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.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 mod"><!--[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="#">Module deadlock</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../parking_lot_core/index.html">parking_<wbr>lot_<wbr>core</a><span class="version">0.9.12</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module deadlock</a></h2><h3><a href="#functions">Module Items</a></h3><ul class="block"><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate parking_<wbr>lot_<wbr>core</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"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">parking_lot_core</a></div><h1>Module <span>deadlock</span>&nbsp;<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/parking_lot_core/parking_lot.rs.html#1098">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>[Experimental] Deadlock detection</p>
<p>Enabled via the <code>deadlock_detection</code> feature flag.</p>
</div></details><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><dl class="item-table"><dt><a class="fn" href="fn.acquire_resource.html" title="fn parking_lot_core::deadlock::acquire_resource">acquire_<wbr>resource</a><sup title="unsafe function"></sup></dt><dd>Acquire a resource identified by key in the deadlock detector
Noop if <code>deadlock_detection</code> feature isnt enabled.</dd><dt><a class="fn" href="fn.release_resource.html" title="fn parking_lot_core::deadlock::release_resource">release_<wbr>resource</a><sup title="unsafe function"></sup></dt><dd>Release a resource identified by key in the deadlock detector.
Noop if <code>deadlock_detection</code> feature isnt enabled.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"fn":["acquire_resource","release_resource"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,29 @@
<!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="Parks the current thread in the queue associated with the given key."><title>park in parking_lot_core - 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-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="parking_lot_core" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.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 fn"><!--[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="#">park</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../parking_lot_core/index.html">parking_<wbr>lot_<wbr>core</a><span class="version">0.9.12</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">park</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#safety" title="Safety">Safety</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate parking_<wbr>lot_<wbr>core</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"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">parking_lot_core</a></div><h1>Function <span class="fn">park</span>&nbsp;<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/parking_lot_core/parking_lot.rs.html#591-706">Source</a> </span></div><pre class="rust item-decl"><code>pub unsafe fn park(
key: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>,
validate: impl <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a>,
before_sleep: impl <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(),
timed_out: impl <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>, <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a>),
park_token: <a class="struct" href="struct.ParkToken.html" title="struct parking_lot_core::ParkToken">ParkToken</a>,
timeout: <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.93.1/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>&gt;,
) -&gt; <a class="enum" href="enum.ParkResult.html" title="enum parking_lot_core::ParkResult">ParkResult</a></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Parks the current thread in the queue associated with the given key.</p>
<p>The <code>validate</code> function is called while the queue is locked and can abort
the operation by returning false. If <code>validate</code> returns true then the
current thread is appended to the queue and the queue is unlocked.</p>
<p>The <code>before_sleep</code> function is called after the queue is unlocked but before
the thread is put to sleep. The thread will then sleep until it is unparked
or the given timeout is reached.</p>
<p>The <code>timed_out</code> function is also called while the queue is locked, but only
if the timeout was reached. It is passed the key of the queue it was in when
it timed out, which may be different from the original key if
<code>unpark_requeue</code> was called. It is also passed a bool which indicates
whether it was the last thread in the queue.</p>
<h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
<p>You should only call this function with an address that you control, since
you could otherwise interfere with the operation of other synchronization
primitives.</p>
<p>The <code>validate</code> and <code>timed_out</code> functions are called while the queue is
locked and must not panic or call into any function in <code>parking_lot</code>.</p>
<p>The <code>before_sleep</code> function is called outside the queue lock and is allowed
to call <code>unpark_one</code>, <code>unpark_all</code>, <code>unpark_requeue</code> or <code>unpark_filter</code>, but
it is not allowed to call <code>park</code> or panic.</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!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="Unparks all threads in the queue associated with the given key."><title>unpark_all in parking_lot_core - 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-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="parking_lot_core" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.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 fn"><!--[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="#">unpark_all</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../parking_lot_core/index.html">parking_<wbr>lot_<wbr>core</a><span class="version">0.9.12</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">unpark_<wbr>all</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#safety" title="Safety">Safety</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate parking_<wbr>lot_<wbr>core</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"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">parking_lot_core</a></div><h1>Function <span class="fn">unpark_<wbr>all</span>&nbsp;<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/parking_lot_core/parking_lot.rs.html#813-858">Source</a> </span></div><pre class="rust item-decl"><code>pub unsafe fn unpark_all(key: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>, unpark_token: <a class="struct" href="struct.UnparkToken.html" title="struct parking_lot_core::UnparkToken">UnparkToken</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Unparks all threads in the queue associated with the given key.</p>
<p>The given <code>UnparkToken</code> is passed to all unparked threads.</p>
<p>This function returns the number of threads that were unparked.</p>
<h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
<p>You should only call this function with an address that you control, since
you could otherwise interfere with the operation of other synchronization
primitives.</p>
<p>The <code>parking_lot</code> functions are not re-entrant and calling this method
from the context of an asynchronous signal handler may result in undefined
behavior, including corruption of internal state and/or deadlocks.</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,25 @@
<!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="Unparks a number of threads from the front of the queue associated with `key` depending on the results of a filter function which inspects the `ParkToken` associated with each thread."><title>unpark_filter in parking_lot_core - 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-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="parking_lot_core" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.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 fn"><!--[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="#">unpark_filter</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../parking_lot_core/index.html">parking_<wbr>lot_<wbr>core</a><span class="version">0.9.12</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">unpark_<wbr>filter</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#safety" title="Safety">Safety</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate parking_<wbr>lot_<wbr>core</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"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">parking_lot_core</a></div><h1>Function <span class="fn">unpark_<wbr>filter</span>&nbsp;<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/parking_lot_core/parking_lot.rs.html#1020-1093">Source</a> </span></div><pre class="rust item-decl"><code>pub unsafe fn unpark_filter(
key: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>,
filter: impl <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="struct" href="struct.ParkToken.html" title="struct parking_lot_core::ParkToken">ParkToken</a>) -&gt; <a class="enum" href="enum.FilterOp.html" title="enum parking_lot_core::FilterOp">FilterOp</a>,
callback: impl <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="struct" href="struct.UnparkResult.html" title="struct parking_lot_core::UnparkResult">UnparkResult</a>) -&gt; <a class="struct" href="struct.UnparkToken.html" title="struct parking_lot_core::UnparkToken">UnparkToken</a>,
) -&gt; <a class="struct" href="struct.UnparkResult.html" title="struct parking_lot_core::UnparkResult">UnparkResult</a></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Unparks a number of threads from the front of the queue associated with
<code>key</code> depending on the results of a filter function which inspects the
<code>ParkToken</code> associated with each thread.</p>
<p>The <code>filter</code> function is called for each thread in the queue or until
<code>FilterOp::Stop</code> is returned. This function is passed the <code>ParkToken</code>
associated with a particular thread, which is unparked if <code>FilterOp::Unpark</code>
is returned.</p>
<p>The <code>callback</code> function is also called while both queues are locked. It is
passed an <code>UnparkResult</code> indicating the number of threads that were unparked
and whether there are still parked threads in the queue. This <code>UnparkResult</code>
value is also returned by <code>unpark_filter</code>.</p>
<p>The <code>callback</code> function should return an <code>UnparkToken</code> value which will be
passed to all threads that are unparked. If no thread is unparked then the
returned value is ignored.</p>
<h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
<p>You should only call this function with an address that you control, since
you could otherwise interfere with the operation of other synchronization
primitives.</p>
<p>The <code>filter</code> and <code>callback</code> functions are called while the queue is locked
and must not panic or call into any function in <code>parking_lot</code>.</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,21 @@
<!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="Unparks one thread from the queue associated with the given key."><title>unpark_one in parking_lot_core - 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-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="parking_lot_core" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.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 fn"><!--[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="#">unpark_one</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../parking_lot_core/index.html">parking_<wbr>lot_<wbr>core</a><span class="version">0.9.12</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">unpark_<wbr>one</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#safety" title="Safety">Safety</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate parking_<wbr>lot_<wbr>core</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"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">parking_lot_core</a></div><h1>Function <span class="fn">unpark_<wbr>one</span>&nbsp;<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/parking_lot_core/parking_lot.rs.html#732-795">Source</a> </span></div><pre class="rust item-decl"><code>pub unsafe fn unpark_one(
key: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>,
callback: impl <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="struct" href="struct.UnparkResult.html" title="struct parking_lot_core::UnparkResult">UnparkResult</a>) -&gt; <a class="struct" href="struct.UnparkToken.html" title="struct parking_lot_core::UnparkToken">UnparkToken</a>,
) -&gt; <a class="struct" href="struct.UnparkResult.html" title="struct parking_lot_core::UnparkResult">UnparkResult</a></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Unparks one thread from the queue associated with the given key.</p>
<p>The <code>callback</code> function is called while the queue is locked and before the
target thread is woken up. The <code>UnparkResult</code> argument to the function
indicates whether a thread was found in the queue and whether this was the
last thread in the queue. This value is also returned by <code>unpark_one</code>.</p>
<p>The <code>callback</code> function should return an <code>UnparkToken</code> value which will be
passed to the thread that is unparked. If no thread is unparked then the
returned value is ignored.</p>
<h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
<p>You should only call this function with an address that you control, since
you could otherwise interfere with the operation of other synchronization
primitives.</p>
<p>The <code>callback</code> function is called while the queue is locked and must not
panic or call into any function in <code>parking_lot</code>.</p>
<p>The <code>parking_lot</code> functions are not re-entrant and calling this method
from the context of an asynchronous signal handler may result in undefined
behavior, including corruption of internal state and/or deadlocks.</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,27 @@
<!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="Removes all threads from the queue associated with `key_from`, optionally unparks the first one and requeues the rest onto the queue associated with `key_to`."><title>unpark_requeue in parking_lot_core - 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-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="parking_lot_core" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.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 fn"><!--[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="#">unpark_requeue</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../parking_lot_core/index.html">parking_<wbr>lot_<wbr>core</a><span class="version">0.9.12</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">unpark_<wbr>requeue</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#safety" title="Safety">Safety</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate parking_<wbr>lot_<wbr>core</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"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">parking_lot_core</a></div><h1>Function <span class="fn">unpark_<wbr>requeue</span>&nbsp;<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/parking_lot_core/parking_lot.rs.html#888-991">Source</a> </span></div><pre class="rust item-decl"><code>pub unsafe fn unpark_requeue(
key_from: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>,
key_to: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>,
validate: impl <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; <a class="enum" href="enum.RequeueOp.html" title="enum parking_lot_core::RequeueOp">RequeueOp</a>,
callback: impl <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="enum" href="enum.RequeueOp.html" title="enum parking_lot_core::RequeueOp">RequeueOp</a>, <a class="struct" href="struct.UnparkResult.html" title="struct parking_lot_core::UnparkResult">UnparkResult</a>) -&gt; <a class="struct" href="struct.UnparkToken.html" title="struct parking_lot_core::UnparkToken">UnparkToken</a>,
) -&gt; <a class="struct" href="struct.UnparkResult.html" title="struct parking_lot_core::UnparkResult">UnparkResult</a></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Removes all threads from the queue associated with <code>key_from</code>, optionally
unparks the first one and requeues the rest onto the queue associated with
<code>key_to</code>.</p>
<p>The <code>validate</code> function is called while both queues are locked. Its return
value will determine which operation is performed, or whether the operation
should be aborted. See <code>RequeueOp</code> for details about the different possible
return values.</p>
<p>The <code>callback</code> function is also called while both queues are locked. It is
passed the <code>RequeueOp</code> returned by <code>validate</code> and an <code>UnparkResult</code>
indicating whether a thread was unparked and whether there are threads still
parked in the new queue. This <code>UnparkResult</code> value is also returned by
<code>unpark_requeue</code>.</p>
<p>The <code>callback</code> function should return an <code>UnparkToken</code> value which will be
passed to the thread that is unparked. If no thread is unparked then the
returned value is ignored.</p>
<h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
<p>You should only call this function with an address that you control, since
you could otherwise interfere with the operation of other synchronization
primitives.</p>
<p>The <code>validate</code> and <code>callback</code> functions are called while the queue is locked
and must not panic or call into any function in <code>parking_lot</code>.</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,31 @@
<!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="This library exposes a low-level API for creating your own efficient synchronization primitives."><title>parking_lot_core - 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-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="parking_lot_core" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.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 mod crate"><!--[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="#">Crate parking_lot_core</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../parking_lot_core/index.html">parking_<wbr>lot_<wbr>core</a><span class="version">0.9.12</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#the-parking-lot" title="The parking lot">The parking lot</a></li><li><a href="#building-custom-synchronization-primitives" title="Building custom synchronization primitives">Building custom synchronization primitives</a></li></ul><h3><a href="#modules">Crate Items</a></h3><ul class="block"><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#constants" title="Constants">Constants</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><h1>Crate <span>parking_<wbr>lot_<wbr>core</span>&nbsp;<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/parking_lot_core/lib.rs.html#8-67">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>This library exposes a low-level API for creating your own efficient
synchronization primitives.</p>
<h2 id="the-parking-lot"><a class="doc-anchor" href="#the-parking-lot">§</a>The parking lot</h2>
<p>To keep synchronization primitives small, all thread queuing and suspending
functionality is offloaded to the <em>parking lot</em>. The idea behind this is based
on the Webkit <a href="https://webkit.org/blog/6161/locking-in-webkit/"><code>WTF::ParkingLot</code></a>
class, which essentially consists of a hash table mapping of lock addresses
to queues of parked (sleeping) threads. The Webkit parking lot was itself
inspired by Linux <a href="http://man7.org/linux/man-pages/man2/futex.2.html">futexes</a>,
but it is more powerful since it allows invoking callbacks while holding a
queue lock.</p>
<p>There are two main operations that can be performed on the parking lot:</p>
<ul>
<li><em>Parking</em> refers to suspending the thread while simultaneously enqueuing it
on a queue keyed by some address.</li>
<li><em>Unparking</em> refers to dequeuing a thread from a queue keyed by some address
and resuming it.</li>
</ul>
<p>See the documentation of the individual functions for more details.</p>
<h2 id="building-custom-synchronization-primitives"><a class="doc-anchor" href="#building-custom-synchronization-primitives">§</a>Building custom synchronization primitives</h2>
<p>Building custom synchronization primitives is very simple since the parking
lot takes care of all the hard parts for you. A simple example for a
custom primitive would be to integrate a <code>Mutex</code> inside another data type.
Since a mutex only requires 2 bits, it can share space with other data.
For example, one could create an <code>ArcMutex</code> type that combines the atomic
reference count and the two mutex bits in the same atomic word.</p>
</div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="deadlock/index.html" title="mod parking_lot_core::deadlock">deadlock</a></dt><dd>[Experimental] Deadlock detection</dd></dl><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.ParkToken.html" title="struct parking_lot_core::ParkToken">Park<wbr>Token</a></dt><dd>A value associated with a parked thread which can be used by <code>unpark_filter</code>.</dd><dt><a class="struct" href="struct.SpinWait.html" title="struct parking_lot_core::SpinWait">Spin<wbr>Wait</a></dt><dd>A counter used to perform exponential backoff in spin loops.</dd><dt><a class="struct" href="struct.UnparkResult.html" title="struct parking_lot_core::UnparkResult">Unpark<wbr>Result</a></dt><dd>Result of an unpark operation.</dd><dt><a class="struct" href="struct.UnparkToken.html" title="struct parking_lot_core::UnparkToken">Unpark<wbr>Token</a></dt><dd>A value which is passed from an unparker to a parked thread.</dd></dl><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><dl class="item-table"><dt><a class="enum" href="enum.FilterOp.html" title="enum parking_lot_core::FilterOp">Filter<wbr>Op</a></dt><dd>Operation that <code>unpark_filter</code> should perform for each thread.</dd><dt><a class="enum" href="enum.ParkResult.html" title="enum parking_lot_core::ParkResult">Park<wbr>Result</a></dt><dd>Result of a park operation.</dd><dt><a class="enum" href="enum.RequeueOp.html" title="enum parking_lot_core::RequeueOp">Requeue<wbr>Op</a></dt><dd>Operation that <code>unpark_requeue</code> should perform.</dd></dl><h2 id="constants" class="section-header">Constants<a href="#constants" class="anchor">§</a></h2><dl class="item-table"><dt><a class="constant" href="constant.DEFAULT_PARK_TOKEN.html" title="constant parking_lot_core::DEFAULT_PARK_TOKEN">DEFAULT_<wbr>PARK_<wbr>TOKEN</a></dt><dd>A default park token to use.</dd><dt><a class="constant" href="constant.DEFAULT_UNPARK_TOKEN.html" title="constant parking_lot_core::DEFAULT_UNPARK_TOKEN">DEFAULT_<wbr>UNPARK_<wbr>TOKEN</a></dt><dd>A default unpark token to use.</dd></dl><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><dl class="item-table"><dt><a class="fn" href="fn.park.html" title="fn parking_lot_core::park">park</a><sup title="unsafe function"></sup></dt><dd>Parks the current thread in the queue associated with the given key.</dd><dt><a class="fn" href="fn.unpark_all.html" title="fn parking_lot_core::unpark_all">unpark_<wbr>all</a><sup title="unsafe function"></sup></dt><dd>Unparks all threads in the queue associated with the given key.</dd><dt><a class="fn" href="fn.unpark_filter.html" title="fn parking_lot_core::unpark_filter">unpark_<wbr>filter</a><sup title="unsafe function"></sup></dt><dd>Unparks a number of threads from the front of the queue associated with
<code>key</code> depending on the results of a filter function which inspects the
<code>ParkToken</code> associated with each thread.</dd><dt><a class="fn" href="fn.unpark_one.html" title="fn parking_lot_core::unpark_one">unpark_<wbr>one</a><sup title="unsafe function"></sup></dt><dd>Unparks one thread from the queue associated with the given key.</dd><dt><a class="fn" href="fn.unpark_requeue.html" title="fn parking_lot_core::unpark_requeue">unpark_<wbr>requeue</a><sup title="unsafe function"></sup></dt><dd>Removes all threads from the queue associated with <code>key_from</code>, optionally
unparks the first one and requeues the rest onto the queue associated with
<code>key_to</code>.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../parking_lot_core/constant.DEFAULT_PARK_TOKEN.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../parking_lot_core/constant.DEFAULT_PARK_TOKEN.html">../../parking_lot_core/constant.DEFAULT_PARK_TOKEN.html</a>...</p>
<script>location.replace("../../parking_lot_core/constant.DEFAULT_PARK_TOKEN.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../parking_lot_core/constant.DEFAULT_UNPARK_TOKEN.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../parking_lot_core/constant.DEFAULT_UNPARK_TOKEN.html">../../parking_lot_core/constant.DEFAULT_UNPARK_TOKEN.html</a>...</p>
<script>location.replace("../../parking_lot_core/constant.DEFAULT_UNPARK_TOKEN.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../parking_lot_core/deadlock/fn.acquire_resource.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../parking_lot_core/deadlock/fn.acquire_resource.html">../../../parking_lot_core/deadlock/fn.acquire_resource.html</a>...</p>
<script>location.replace("../../../parking_lot_core/deadlock/fn.acquire_resource.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../parking_lot_core/deadlock/fn.release_resource.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../parking_lot_core/deadlock/fn.release_resource.html">../../../parking_lot_core/deadlock/fn.release_resource.html</a>...</p>
<script>location.replace("../../../parking_lot_core/deadlock/fn.release_resource.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../parking_lot_core/deadlock/index.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../parking_lot_core/deadlock/index.html">../../../parking_lot_core/deadlock/index.html</a>...</p>
<script>location.replace("../../../parking_lot_core/deadlock/index.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../parking_lot_core/enum.FilterOp.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../parking_lot_core/enum.FilterOp.html">../../parking_lot_core/enum.FilterOp.html</a>...</p>
<script>location.replace("../../parking_lot_core/enum.FilterOp.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../parking_lot_core/enum.ParkResult.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../parking_lot_core/enum.ParkResult.html">../../parking_lot_core/enum.ParkResult.html</a>...</p>
<script>location.replace("../../parking_lot_core/enum.ParkResult.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../parking_lot_core/enum.RequeueOp.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../parking_lot_core/enum.RequeueOp.html">../../parking_lot_core/enum.RequeueOp.html</a>...</p>
<script>location.replace("../../parking_lot_core/enum.RequeueOp.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../parking_lot_core/fn.park.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../parking_lot_core/fn.park.html">../../parking_lot_core/fn.park.html</a>...</p>
<script>location.replace("../../parking_lot_core/fn.park.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../parking_lot_core/fn.unpark_all.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../parking_lot_core/fn.unpark_all.html">../../parking_lot_core/fn.unpark_all.html</a>...</p>
<script>location.replace("../../parking_lot_core/fn.unpark_all.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../parking_lot_core/fn.unpark_filter.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../parking_lot_core/fn.unpark_filter.html">../../parking_lot_core/fn.unpark_filter.html</a>...</p>
<script>location.replace("../../parking_lot_core/fn.unpark_filter.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../parking_lot_core/fn.unpark_one.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../parking_lot_core/fn.unpark_one.html">../../parking_lot_core/fn.unpark_one.html</a>...</p>
<script>location.replace("../../parking_lot_core/fn.unpark_one.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../parking_lot_core/fn.unpark_requeue.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../parking_lot_core/fn.unpark_requeue.html">../../parking_lot_core/fn.unpark_requeue.html</a>...</p>
<script>location.replace("../../parking_lot_core/fn.unpark_requeue.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../parking_lot_core/struct.ParkToken.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../parking_lot_core/struct.ParkToken.html">../../parking_lot_core/struct.ParkToken.html</a>...</p>
<script>location.replace("../../parking_lot_core/struct.ParkToken.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../parking_lot_core/struct.UnparkResult.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../parking_lot_core/struct.UnparkResult.html">../../parking_lot_core/struct.UnparkResult.html</a>...</p>
<script>location.replace("../../parking_lot_core/struct.UnparkResult.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../parking_lot_core/struct.UnparkToken.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../parking_lot_core/struct.UnparkToken.html">../../parking_lot_core/struct.UnparkToken.html</a>...</p>
<script>location.replace("../../parking_lot_core/struct.UnparkToken.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"constant":["DEFAULT_PARK_TOKEN","DEFAULT_UNPARK_TOKEN"],"enum":["FilterOp","ParkResult","RequeueOp"],"fn":["park","unpark_all","unpark_filter","unpark_one","unpark_requeue"],"mod":["deadlock"],"struct":["ParkToken","SpinWait","UnparkResult","UnparkToken"]};

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../parking_lot_core/struct.SpinWait.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../parking_lot_core/struct.SpinWait.html">../../parking_lot_core/struct.SpinWait.html</a>...</p>
<script>location.replace("../../parking_lot_core/struct.SpinWait.html" + location.search + location.hash);</script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long