You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asyncband.apache.org by gi...@apache.org on 2026/10/15 17:01:21 UTC
(asyncband-site) branch site/local-author-avatars-staging updated: deploy: 2cde474242ddc1508780e97686d501cc77677bde
This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a commit to branch site/local-author-avatars-staging
in repository https://gitbox.apache.org/repos/asf/asyncband-site.git
The following commit(s) were added to refs/heads/site/local-author-avatars-staging by this push:
new 4bd8a0a deploy: 2cde474242ddc1508780e97686d501cc77677bde
4bd8a0a is described below
commit 4bd8a0a86c099d8ac100192813fca080a43a46b9
Author: tisonkun <ti...@users.noreply.github.com>
AuthorDate: Thu Oct 15 17:01:14 2026 +0000
deploy: 2cde474242ddc1508780e97686d501cc77677bde
---
404.html | 4 ++--
.../js/{1df93b7f.91bac7ec.js => 1df93b7f.03acf539.js} | 2 +-
assets/js/4d6bcb0d.79ecb65c.js | 1 +
assets/js/4d6bcb0d.b3be3e69.js | 1 -
assets/js/7ce54071.351a636b.js | 1 +
assets/js/7ce54071.5158a402.js | 1 -
.../js/{da5fc804.58a218b4.js => da5fc804.49dce897.js} | 2 +-
assets/js/dbfc4782.79b087c0.js | 1 -
assets/js/dbfc4782.d0bf522c.js | 1 +
assets/js/dd04b75e.89358e1c.js | 1 +
assets/js/dd04b75e.cbbdbd7d.js | 1 -
assets/js/main.57c18f51.js | 2 ++
...38d6.js.LICENSE.txt => main.57c18f51.js.LICENSE.txt} | 0
assets/js/main.e72938d6.js | 2 --
...untime~main.cc7ce440.js => runtime~main.11d9aa5e.js} | 2 +-
avatars/nanami.png | Bin 90654 -> 0 bytes
blog/2026/10/14/choosing-the-right-primitive/index.html | 8 ++++----
blog/archive/index.html | 4 ++--
blog/authors/index.html | 6 +++---
blog/index.html | 8 ++++----
blog/tags/async-rust/index.html | 6 +++---
blog/tags/concurrency/index.html | 6 +++---
blog/tags/index.html | 4 ++--
downloads/index.html | 4 ++--
index.html | 4 ++--
25 files changed, 36 insertions(+), 36 deletions(-)
diff --git a/404.html b/404.html
index 3ff0196..1208a68 100644
--- a/404.html
+++ b/404.html
@@ -5,8 +5,8 @@
<meta name="generator" content="Docusaurus v3.10.2">
<title data-rh="true">Page Not Found | Apache Asyncband (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" name="twitter:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" property="og:url" content="https://asyncband.apache.org/404.html/"> [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Asyncband (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.6eac8809.css">
-<script src="/assets/js/runtime~main.cc7ce440.js" defer="defer"></script>
-<script src="/assets/js/main.e72938d6.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.11d9aa5e.js" defer="defer"></script>
+<script src="/assets/js/main.57c18f51.js" defer="defer"></script>
</head>
<body>
<svg style="display: none;"><defs>
diff --git a/assets/js/1df93b7f.91bac7ec.js b/assets/js/1df93b7f.03acf539.js
similarity index 99%
rename from assets/js/1df93b7f.91bac7ec.js
rename to assets/js/1df93b7f.03acf539.js
index f8726b1..97ec2a7 100644
--- a/assets/js/1df93b7f.91bac7ec.js
+++ b/assets/js/1df93b7f.03acf539.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkasyncband_site=self.webpackChunkasyncband_site||[]).push([[583],{5353(e,n,s){s.r(n),s.d(n,{default:()=>o});var r=s(4688),t=s(3759),c=s(1987),d=s(7008);function i(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.h2,{id:"overview",children:"Overview"}),"\n",(0,c.jsx)(n.p,{children:"Asyncband's async AP [...]
\ No newline at end of file
+"use strict";(self.webpackChunkasyncband_site=self.webpackChunkasyncband_site||[]).push([[583],{2178(e,n,s){s.r(n),s.d(n,{default:()=>o});var r=s(4688),t=s(3759),c=s(1987),d=s(7008);function i(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.h2,{id:"overview",children:"Overview"}),"\n",(0,c.jsx)(n.p,{children:"Asyncband's async AP [...]
\ No newline at end of file
diff --git a/assets/js/4d6bcb0d.79ecb65c.js b/assets/js/4d6bcb0d.79ecb65c.js
new file mode 100644
index 0000000..779ac59
--- /dev/null
+++ b/assets/js/4d6bcb0d.79ecb65c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkasyncband_site=self.webpackChunkasyncband_site||[]).push([[200],{8555(e,r,t){t.r(r),t.d(r,{default:()=>h,metadata:()=>u});var u=t(7047),a=t(1987),n=t(7008);const d={authorsImageUrls:[void 0]};function l(e){const r={a:"a",code:"code",em:"em",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,n.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.p,{children:(0,a.jsx)(r.em,{children:"This post is written against asyncband 0.7 (l [...]
\ No newline at end of file
diff --git a/assets/js/4d6bcb0d.b3be3e69.js b/assets/js/4d6bcb0d.b3be3e69.js
deleted file mode 100644
index 4fe939b..0000000
--- a/assets/js/4d6bcb0d.b3be3e69.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkasyncband_site=self.webpackChunkasyncband_site||[]).push([[200],{3237(e,n,t){t.r(n),t.d(n,{default:()=>c,metadata:()=>s});var s=t(7047),i=t(1987),a=t(7008);const r={authorsImageUrls:[void 0]};function o(e){const n={a:"a",code:"code",em:"em",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.em,{children:"This post is written against asyncband 0.7 (l [...]
\ No newline at end of file
diff --git a/assets/js/7ce54071.351a636b.js b/assets/js/7ce54071.351a636b.js
new file mode 100644
index 0000000..ff280ee
--- /dev/null
+++ b/assets/js/7ce54071.351a636b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkasyncband_site=self.webpackChunkasyncband_site||[]).push([[591],{5341(u,r,q){q.r(r),q.d(r,{default:()=>d,metadata:()=>W});var W=q(7047),V=q(1987),t=q(7008);const e={authorsImageUrls:[void 0]};function Z(u){const r={a:"a",code:"code",em:"em",p:"p",strong:"strong",...(0,t.R)(),...u.components};return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(r.p,{children:(0,V.jsx)(r.em,{children:"This post is written against asyncband 0.7 (links point to the 0.7.3 docs); the [...]
\ No newline at end of file
diff --git a/assets/js/7ce54071.5158a402.js b/assets/js/7ce54071.5158a402.js
deleted file mode 100644
index 0b27b8e..0000000
--- a/assets/js/7ce54071.5158a402.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkasyncband_site=self.webpackChunkasyncband_site||[]).push([[591],{167(e,n,t){t.r(n),t.d(n,{default:()=>c,metadata:()=>s});var s=t(7047),a=t(1987),i=t(7008);const o={authorsImageUrls:[void 0]};function r(e){const n={a:"a",code:"code",em:"em",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:(0,a.jsx)(n.em,{children:"This post is written against asyncband 0.7 (links point to the 0.7.3 docs); the [...]
\ No newline at end of file
diff --git a/assets/js/da5fc804.58a218b4.js b/assets/js/da5fc804.49dce897.js
similarity index 97%
rename from assets/js/da5fc804.58a218b4.js
rename to assets/js/da5fc804.49dce897.js
index e584258..1fddc44 100644
--- a/assets/js/da5fc804.58a218b4.js
+++ b/assets/js/da5fc804.49dce897.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkasyncband_site=self.webpackChunkasyncband_site||[]).push([[822],{7246(e,a,n){n.r(a),n.d(a,{assets:()=>d,contentTitle:()=>i,default:()=>l,frontMatter:()=>t,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"type":"mdx","permalink":"/downloads","source":"@site/src/pages/downloads.md","title":"Downloads","description":"Apache Asyncband (Incubating) release downloads.","frontMatter":{"title":"Downloads","description":"Apache Asyncband (Incubating) release downloa [...]
\ No newline at end of file
+"use strict";(self.webpackChunkasyncband_site=self.webpackChunkasyncband_site||[]).push([[822],{6199(e,a,n){n.r(a),n.d(a,{assets:()=>d,contentTitle:()=>i,default:()=>l,frontMatter:()=>t,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"type":"mdx","permalink":"/downloads","source":"@site/src/pages/downloads.md","title":"Downloads","description":"Apache Asyncband (Incubating) release downloads.","frontMatter":{"title":"Downloads","description":"Apache Asyncband (Incubating) release downloa [...]
\ No newline at end of file
diff --git a/assets/js/dbfc4782.79b087c0.js b/assets/js/dbfc4782.79b087c0.js
deleted file mode 100644
index eccc652..0000000
--- a/assets/js/dbfc4782.79b087c0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkasyncband_site=self.webpackChunkasyncband_site||[]).push([[749],{1895(e){e.exports=JSON.parse('{"archive":{"blogPosts":[{"id":"/2026/10/14/choosing-the-right-primitive","metadata":{"permalink":"/blog/2026/10/14/choosing-the-right-primitive","source":"@site/blog/2026-10-14-choosing-the-right-primitive.md","title":"Counting, Signaling, and Cancelling: Choosing the Right Asyncband Primitive","description":"A field guide to picking between Semaphore, ManualRese [...]
\ No newline at end of file
diff --git a/assets/js/dbfc4782.d0bf522c.js b/assets/js/dbfc4782.d0bf522c.js
new file mode 100644
index 0000000..4d6921f
--- /dev/null
+++ b/assets/js/dbfc4782.d0bf522c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkasyncband_site=self.webpackChunkasyncband_site||[]).push([[749],{1895(e){e.exports=JSON.parse('{"archive":{"blogPosts":[{"id":"/2026/10/14/choosing-the-right-primitive","metadata":{"permalink":"/blog/2026/10/14/choosing-the-right-primitive","source":"@site/blog/2026-10-14-choosing-the-right-primitive.md","title":"Counting, Signaling, and Cancelling: Choosing the Right Asyncband Primitive","description":"A field guide to picking between Semaphore, ManualRese [...]
\ No newline at end of file
diff --git a/assets/js/dd04b75e.89358e1c.js b/assets/js/dd04b75e.89358e1c.js
new file mode 100644
index 0000000..996db7f
--- /dev/null
+++ b/assets/js/dd04b75e.89358e1c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkasyncband_site=self.webpackChunkasyncband_site||[]).push([[672],{3024(u){u.exports=JSON.parse('{"authors":[{"name":"Nanami","title":"Asyncband Contributor","url":"https://github.com/nanami-0713","imageURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcwAAAHMCAIAAADXuQ/RAACAAElEQVR4nNy96Zdkt5UnhuUtsedWWSurikWyWEWKVJEiJWrUo6VH7pk+9hd/85zjj/7gP8HT/od83HYv0vS0pZalVpNSkxJFskiR4lJk7WtWVmVmZCxvA+DzcF8gEADeixeRSUptME8x4gUelouLi3t/uLjw9vb7yJUYYxhjQghCSEwSxhghpP8L [...]
\ No newline at end of file
diff --git a/assets/js/dd04b75e.cbbdbd7d.js b/assets/js/dd04b75e.cbbdbd7d.js
deleted file mode 100644
index 814198c..0000000
--- a/assets/js/dd04b75e.cbbdbd7d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkasyncband_site=self.webpackChunkasyncband_site||[]).push([[672],{3024(a){a.exports=JSON.parse('{"authors":[{"name":"Nanami","title":"Asyncband Contributor","url":"https://github.com/nanami-0713","imageURL":"/avatars/nanami.png","key":"nanami","page":null,"count":1}]}')}}]);
\ No newline at end of file
diff --git a/assets/js/main.57c18f51.js b/assets/js/main.57c18f51.js
new file mode 100644
index 0000000..cb13531
--- /dev/null
+++ b/assets/js/main.57c18f51.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.57c18f51.js.LICENSE.txt */
+(self.webpackChunkasyncband_site=self.webpackChunkasyncband_site||[]).push([[792],{7552(e,t,n){const r={"./prism-bash":1022,"./prism-rust":2398,"./prism-toml":100};function a(e){const t=o(e);return n(t)}function o(e){if(!n.o(r,e)){const t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=7552},6977(e,t,n){"use strict";n.d(t,{mg:()=>J,vd:()=>W});var r=n.cw(function(e,t){e.exports=func [...]
\ No newline at end of file
diff --git a/assets/js/main.e72938d6.js.LICENSE.txt b/assets/js/main.57c18f51.js.LICENSE.txt
similarity index 100%
rename from assets/js/main.e72938d6.js.LICENSE.txt
rename to assets/js/main.57c18f51.js.LICENSE.txt
diff --git a/assets/js/main.e72938d6.js b/assets/js/main.e72938d6.js
deleted file mode 100644
index 0063d43..0000000
--- a/assets/js/main.e72938d6.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.e72938d6.js.LICENSE.txt */
-(self.webpackChunkasyncband_site=self.webpackChunkasyncband_site||[]).push([[792],{7552(e,t,n){const r={"./prism-bash":1022,"./prism-rust":2398,"./prism-toml":100};function a(e){const t=o(e);return n(t)}function o(e){if(!n.o(r,e)){const t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=7552},6977(e,t,n){"use strict";n.d(t,{mg:()=>J,vd:()=>W});var r=n.cw(function(e,t){e.exports=func [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.cc7ce440.js b/assets/js/runtime~main.11d9aa5e.js
similarity index 93%
rename from assets/js/runtime~main.cc7ce440.js
rename to assets/js/runtime~main.11d9aa5e.js
index ad0b2a1..2a65aca 100644
--- a/assets/js/runtime~main.cc7ce440.js
+++ b/assets/js/runtime~main.11d9aa5e.js
@@ -1 +1 @@
-(()=>{"use strict";var e={};const t={};function r(n){const o=t[n];if(void 0!==o)return o.exports;const c=t[n]={exports:{}};return e[n].call(c.exports,c,c.exports,r),c.exports}r.m=e,(()=>{const e=[];r.O=(t,n,o,c)=>{if(n){c=c||0;for(var a=e.length;a>0&&e[a-1][2]>c;a--)e[a]=e[a-1];return void(e[a]=[n,o,c])}let f=1/0;for(a=0;a<e.length;a++){let[n,o,c]=e[a],i=!0;for(var d=0;d<n.length;d++)1&c&&!(f>=c)||!Object.keys(r.O).every(e=>r.O[e](n[d]))?(i=!1,c<f&&(f=c)):n.splice(d--,1);if(i){e.splice(a [...]
\ No newline at end of file
+(()=>{"use strict";var e={};const t={};function r(n){const o=t[n];if(void 0!==o)return o.exports;const c=t[n]={exports:{}};return e[n].call(c.exports,c,c.exports,r),c.exports}r.m=e,(()=>{const e=[];r.O=(t,n,o,c)=>{if(n){c=c||0;for(var a=e.length;a>0&&e[a-1][2]>c;a--)e[a]=e[a-1];return void(e[a]=[n,o,c])}let f=1/0;for(a=0;a<e.length;a++){let[n,o,c]=e[a],i=!0;for(var d=0;d<n.length;d++)1&c&&!(f>=c)||!Object.keys(r.O).every(e=>r.O[e](n[d]))?(i=!1,c<f&&(f=c)):n.splice(d--,1);if(i){e.splice(a [...]
\ No newline at end of file
diff --git a/avatars/nanami.png b/avatars/nanami.png
deleted file mode 100644
index 668b859..0000000
Binary files a/avatars/nanami.png and /dev/null differ
diff --git a/blog/2026/10/14/choosing-the-right-primitive/index.html b/blog/2026/10/14/choosing-the-right-primitive/index.html
index 69b19df..6121441 100644
--- a/blog/2026/10/14/choosing-the-right-primitive/index.html
+++ b/blog/2026/10/14/choosing-the-right-primitive/index.html
@@ -3,16 +3,16 @@
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.10.2">
-<title data-rh="true">Counting, Signaling, and Cancelling: Choosing the Right Asyncband Primitive | Apache Asyncband (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" name="twitter:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" proper [...]
+<title data-rh="true">Counting, Signaling, and Cancelling: Choosing the Right Asyncband Primitive | Apache Asyncband (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" name="twitter:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" proper [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Asyncband (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.6eac8809.css">
-<script src="/assets/js/runtime~main.cc7ce440.js" defer="defer"></script>
-<script src="/assets/js/main.e72938d6.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.11d9aa5e.js" defer="defer"></script>
+<script src="/assets/js/main.57c18f51.js" defer="defer"></script>
</head>
<body>
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
-<script>document.documentElement.setAttribute("data-theme","light"),document.documentElement.setAttribute("data-theme-choice","light"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/avatars/nanami.png"><link rel="preload" as="image" href [...]
+<script>document.documentElement.setAttribute("data-theme","light"),document.documentElement.setAttribute("data-theme-choice","light"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/asf-logo.svg"><div role="region" aria-label="Skip to ma [...]
<p>Asyncband ships a wide box of coordination primitives: locks, channels, latches, pools. Wide enough that the daily question is rarely "how do I use X" but "which X is this job". This post walks the three you will reach for most often — <a href="https://docs.rs/asyncband/0.7.3/asyncband/semaphore/struct.Semaphore.html" target="_blank" rel="noopener noreferrer" class=""><code>Semaphore</code></a>, <a href="https://docs.rs/asyncband/0.7.3/asyncband/event/struct.Manual [...]
<h2 class="anchor anchorTargetStickyNavbar_zq6S" id="count-when-you-bound-work">Count when you bound work<a href="#count-when-you-bound-work" class="hash-link" aria-label="Direct link to Count when you bound work" title="Direct link to Count when you bound work" translate="no"></a></h2>
<p>A semaphore's state is a <em>number</em>. You reach for it when your condition is "no more than N of these at once": concurrent requests against one backend, buffers in flight, tasks sharing a scarce resource.</p>
diff --git a/blog/archive/index.html b/blog/archive/index.html
index 0d07aaa..537e13d 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -5,8 +5,8 @@
<meta name="generator" content="Docusaurus v3.10.2">
<title data-rh="true">Archive | Apache Asyncband (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" name="twitter:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" property="og:url" content="https://asyncband.apache.org/blog/archive/"><me [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Asyncband (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.6eac8809.css">
-<script src="/assets/js/runtime~main.cc7ce440.js" defer="defer"></script>
-<script src="/assets/js/main.e72938d6.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.11d9aa5e.js" defer="defer"></script>
+<script src="/assets/js/main.57c18f51.js" defer="defer"></script>
</head>
<body>
<svg style="display: none;"><defs>
diff --git a/blog/authors/index.html b/blog/authors/index.html
index 5fd06a0..e8e5bc0 100644
--- a/blog/authors/index.html
+++ b/blog/authors/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v3.10.2">
<title data-rh="true">Authors | Apache Asyncband (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" name="twitter:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" property="og:url" content="https://asyncband.apache.org/blog/authors/"><me [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Asyncband (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.6eac8809.css">
-<script src="/assets/js/runtime~main.cc7ce440.js" defer="defer"></script>
-<script src="/assets/js/main.e72938d6.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.11d9aa5e.js" defer="defer"></script>
+<script src="/assets/js/main.57c18f51.js" defer="defer"></script>
</head>
<body>
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
-<script>document.documentElement.setAttribute("data-theme","light"),document.documentElement.setAttribute("data-theme-choice","light"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/avatars/nanami.png"><link rel="preload" as="image" href [...]
+<script>document.documentElement.setAttribute("data-theme","light"),document.documentElement.setAttribute("data-theme-choice","light"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/asf-logo.svg"><div role="region" aria-label="Skip to ma [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index 9945192..61a7f68 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -3,16 +3,16 @@
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.10.2">
-<title data-rh="true">Blog | Apache Asyncband (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" name="twitter:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" property="og:url" content="https://asyncband.apache.org/blog/"><meta data-rh= [...]
+<title data-rh="true">Blog | Apache Asyncband (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" name="twitter:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" property="og:url" content="https://asyncband.apache.org/blog/"><meta data-rh= [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Asyncband (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.6eac8809.css">
-<script src="/assets/js/runtime~main.cc7ce440.js" defer="defer"></script>
-<script src="/assets/js/main.e72938d6.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.11d9aa5e.js" defer="defer"></script>
+<script src="/assets/js/main.57c18f51.js" defer="defer"></script>
</head>
<body>
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
-<script>document.documentElement.setAttribute("data-theme","light"),document.documentElement.setAttribute("data-theme-choice","light"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/avatars/nanami.png"><link rel="preload" as="image" href [...]
+<script>document.documentElement.setAttribute("data-theme","light"),document.documentElement.setAttribute("data-theme-choice","light"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/asf-logo.svg"><div role="region" aria-label="Skip to ma [...]
<p>Asyncband ships a wide box of coordination primitives: locks, channels, latches, pools. Wide enough that the daily question is rarely "how do I use X" but "which X is this job". This post walks the three you will reach for most often — <a href="https://docs.rs/asyncband/0.7.3/asyncband/semaphore/struct.Semaphore.html" target="_blank" rel="noopener noreferrer" class=""><code>Semaphore</code></a>, <a href="https://docs.rs/asyncband/0.7.3/asyncband/event/struct.Manual [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/tags/async-rust/index.html b/blog/tags/async-rust/index.html
index e851867..5ea6c15 100644
--- a/blog/tags/async-rust/index.html
+++ b/blog/tags/async-rust/index.html
@@ -5,14 +5,14 @@
<meta name="generator" content="Docusaurus v3.10.2">
<title data-rh="true">One post tagged with "async rust" | Apache Asyncband (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" name="twitter:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" property="og:url" content="https://asy [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Asyncband (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.6eac8809.css">
-<script src="/assets/js/runtime~main.cc7ce440.js" defer="defer"></script>
-<script src="/assets/js/main.e72938d6.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.11d9aa5e.js" defer="defer"></script>
+<script src="/assets/js/main.57c18f51.js" defer="defer"></script>
</head>
<body>
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
-<script>document.documentElement.setAttribute("data-theme","light"),document.documentElement.setAttribute("data-theme-choice","light"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/avatars/nanami.png"><link rel="preload" as="image" href [...]
+<script>document.documentElement.setAttribute("data-theme","light"),document.documentElement.setAttribute("data-theme-choice","light"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/asf-logo.svg"><div role="region" aria-label="Skip to ma [...]
<p>Asyncband ships a wide box of coordination primitives: locks, channels, latches, pools. Wide enough that the daily question is rarely "how do I use X" but "which X is this job". This post walks the three you will reach for most often — <a href="https://docs.rs/asyncband/0.7.3/asyncband/semaphore/struct.Semaphore.html" target="_blank" rel="noopener noreferrer" class=""><code>Semaphore</code></a>, <a href="https://docs.rs/asyncband/0.7.3/asyncband/event/struct.Manual [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/tags/concurrency/index.html b/blog/tags/concurrency/index.html
index 733352d..ded2497 100644
--- a/blog/tags/concurrency/index.html
+++ b/blog/tags/concurrency/index.html
@@ -5,14 +5,14 @@
<meta name="generator" content="Docusaurus v3.10.2">
<title data-rh="true">One post tagged with "concurrency" | Apache Asyncband (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" name="twitter:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" property="og:url" content="https://as [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Asyncband (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.6eac8809.css">
-<script src="/assets/js/runtime~main.cc7ce440.js" defer="defer"></script>
-<script src="/assets/js/main.e72938d6.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.11d9aa5e.js" defer="defer"></script>
+<script src="/assets/js/main.57c18f51.js" defer="defer"></script>
</head>
<body>
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
-<script>document.documentElement.setAttribute("data-theme","light"),document.documentElement.setAttribute("data-theme-choice","light"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/avatars/nanami.png"><link rel="preload" as="image" href [...]
+<script>document.documentElement.setAttribute("data-theme","light"),document.documentElement.setAttribute("data-theme-choice","light"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/asf-logo.svg"><div role="region" aria-label="Skip to ma [...]
<p>Asyncband ships a wide box of coordination primitives: locks, channels, latches, pools. Wide enough that the daily question is rarely "how do I use X" but "which X is this job". This post walks the three you will reach for most often — <a href="https://docs.rs/asyncband/0.7.3/asyncband/semaphore/struct.Semaphore.html" target="_blank" rel="noopener noreferrer" class=""><code>Semaphore</code></a>, <a href="https://docs.rs/asyncband/0.7.3/asyncband/event/struct.Manual [...]
</body>
</html>
\ No newline at end of file
diff --git a/blog/tags/index.html b/blog/tags/index.html
index 3fbbf8e..4d502a6 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -5,8 +5,8 @@
<meta name="generator" content="Docusaurus v3.10.2">
<title data-rh="true">Tags | Apache Asyncband (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" name="twitter:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" property="og:url" content="https://asyncband.apache.org/blog/tags/"><meta dat [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Asyncband (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.6eac8809.css">
-<script src="/assets/js/runtime~main.cc7ce440.js" defer="defer"></script>
-<script src="/assets/js/main.e72938d6.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.11d9aa5e.js" defer="defer"></script>
+<script src="/assets/js/main.57c18f51.js" defer="defer"></script>
</head>
<body>
<svg style="display: none;"><defs>
diff --git a/downloads/index.html b/downloads/index.html
index 8cfe245..1932f7c 100644
--- a/downloads/index.html
+++ b/downloads/index.html
@@ -5,8 +5,8 @@
<meta name="generator" content="Docusaurus v3.10.2">
<title data-rh="true">Downloads | Apache Asyncband (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" name="twitter:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" property="og:url" content="https://asyncband.apache.org/downloads/"><met [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Asyncband (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.6eac8809.css">
-<script src="/assets/js/runtime~main.cc7ce440.js" defer="defer"></script>
-<script src="/assets/js/main.e72938d6.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.11d9aa5e.js" defer="defer"></script>
+<script src="/assets/js/main.57c18f51.js" defer="defer"></script>
</head>
<body>
<svg style="display: none;"><defs>
diff --git a/index.html b/index.html
index 47eecd5..f9a095a 100644
--- a/index.html
+++ b/index.html
@@ -5,8 +5,8 @@
<meta name="generator" content="Docusaurus v3.10.2">
<title data-rh="true">Apache Asyncband (Incubating)</title><meta data-rh="true" property="og:title" content="Apache Asyncband (Incubating)"><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" name="twitter:image" content="https://asyncband.apache.org/og.png"><meta data-rh="true" pro [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Asyncband (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.6eac8809.css">
-<script src="/assets/js/runtime~main.cc7ce440.js" defer="defer"></script>
-<script src="/assets/js/main.e72938d6.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.11d9aa5e.js" defer="defer"></script>
+<script src="/assets/js/main.57c18f51.js" defer="defer"></script>
</head>
<body>
<svg style="display: none;"><defs>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@asyncband.apache.org
For additional commands, e-mail: commits-help@asyncband.apache.org