You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by gi...@apache.org on 2023/11/18 17:54:26 UTC
(incubator-opendal) branch gh-pages updated: deploy: a53a7e593a4d30b0465a87d9bdf8d8b6fb3cc616
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git
The following commit(s) were added to refs/heads/gh-pages by this push:
new f662479e4 deploy: a53a7e593a4d30b0465a87d9bdf8d8b6fb3cc616
f662479e4 is described below
commit f662479e4e3d92e0d0200b202c2dc8e036370660
Author: Xuanwo <Xu...@users.noreply.github.com>
AuthorDate: Sat Nov 18 17:54:21 2023 +0000
deploy: a53a7e593a4d30b0465a87d9bdf8d8b6fb3cc616
---
404.html | 4 +-
.../{054cd2fb.921c05d4.js => 054cd2fb.81ee066b.js} | 2 +-
.../{0605a481.bc16fda4.js => 0605a481.941da0d5.js} | 2 +-
.../{093f5f04.05ef1eda.js => 093f5f04.40dd2315.js} | 2 +-
.../{09d8124e.c3f5d1a7.js => 09d8124e.014ed0c3.js} | 2 +-
.../{136e1c50.06872c73.js => 136e1c50.3f8cef48.js} | 2 +-
.../{151cd40f.9352be09.js => 151cd40f.4f44030f.js} | 2 +-
.../{1957547a.9bc5edd4.js => 1957547a.c6ff95e9.js} | 2 +-
.../{1db64337.a431fb0b.js => 1db64337.a98c2b6f.js} | 2 +-
.../{22d8fa67.0576655a.js => 22d8fa67.b3cd761c.js} | 2 +-
.../{29b208a4.a369991e.js => 29b208a4.4f6a29e6.js} | 2 +-
.../{2cbf1097.93eab90b.js => 2cbf1097.f8647f58.js} | 2 +-
.../{3632610d.8797c470.js => 3632610d.55133f31.js} | 2 +-
.../{381c04e3.a8d8ab00.js => 381c04e3.ef40ef9b.js} | 2 +-
.../{39a95de5.700d3f1e.js => 39a95de5.0917c966.js} | 2 +-
.../{42347498.cb01aeb4.js => 42347498.c3ff129d.js} | 2 +-
.../{434bbc94.47a3b4f0.js => 434bbc94.ea34228e.js} | 2 +-
.../{4e2d8f56.d5011f0f.js => 4e2d8f56.42017928.js} | 2 +-
.../{500d55cb.994a49f4.js => 500d55cb.b8480ee2.js} | 2 +-
.../{57a16c1d.e55f634e.js => 57a16c1d.01aeb3ee.js} | 2 +-
.../{592d1076.1c1a04f3.js => 592d1076.a7e85bba.js} | 2 +-
.../{621b831b.b42816ea.js => 621b831b.0786ecd7.js} | 2 +-
.../{65bf2b43.fbf3f9bc.js => 65bf2b43.aaa03cbb.js} | 2 +-
.../{67ecc70e.96896996.js => 67ecc70e.132702fa.js} | 2 +-
.../{6a41242b.92eb7938.js => 6a41242b.af56a0b5.js} | 2 +-
.../{6dc695d1.455352ff.js => 6dc695d1.9e04fc5f.js} | 2 +-
.../{6f4d3fa1.eac4b08a.js => 6f4d3fa1.bfcc8573.js} | 2 +-
.../{7263c0b5.dc1aea93.js => 7263c0b5.a84e86dc.js} | 2 +-
.../{8070e160.59ada4b2.js => 8070e160.8b76640f.js} | 2 +-
.../{8cc9519e.b900a6ab.js => 8cc9519e.4a7c7b38.js} | 2 +-
.../{8f4159f2.3befd0cf.js => 8f4159f2.5102efd2.js} | 2 +-
.../{8fb00c63.5b0866cc.js => 8fb00c63.7117e799.js} | 2 +-
.../{939f74f6.8322a605.js => 939f74f6.004e084d.js} | 2 +-
.../{a0405932.7c3dd733.js => a0405932.32d32e43.js} | 2 +-
.../{b114cefa.050934f6.js => b114cefa.ec34a0ba.js} | 2 +-
.../{b56f9725.001bdbd1.js => b56f9725.1b1c9f70.js} | 2 +-
.../{bb5b2057.dcda0a71.js => bb5b2057.f36e7183.js} | 2 +-
.../{c0600a1b.fb350c7d.js => c0600a1b.eb95f4b4.js} | 2 +-
.../{c46c6b55.fd7ee746.js => c46c6b55.be04ef71.js} | 2 +-
.../{c6ab695b.f1b59517.js => c6ab695b.97cc7bf3.js} | 2 +-
.../{cc62039a.ba4fba01.js => cc62039a.8ba8a60d.js} | 2 +-
.../{d3c0d8d5.4e45855d.js => d3c0d8d5.775a9caa.js} | 2 +-
.../{ddccef4c.1887b238.js => ddccef4c.c45bf0ad.js} | 2 +-
.../{e892cec6.06c9c9b4.js => e892cec6.54356fb1.js} | 2 +-
.../{f1ca5a39.d88e48d1.js => f1ca5a39.23a00ece.js} | 2 +-
.../{f9145722.e43c5c00.js => f9145722.ec4c662c.js} | 2 +-
.../{fde7cc64.fcafcf9a.js => fde7cc64.0a2bbe33.js} | 2 +-
...e~main.dcf1bd2e.js => runtime~main.1ba8798c.js} | 2 +-
blog/archive/index.html | 4 +-
blog/how-opendal-read-data/index.html | 4 +-
blog/index.html | 4 +-
blog/opendal-access-data-freely/index.html | 4 +-
blog/opendal-entered-apache-incubator/index.html | 4 +-
blog/owo-1/index.html | 4 +-
blog/tags/announcement/index.html | 4 +-
blog/tags/index.html | 4 +-
blog/tags/internal/index.html | 4 +-
blog/tags/owo/index.html | 4 +-
community/category/committers/index.html | 4 +-
community/category/reference/index.html | 4 +-
community/committers/committer/index.html | 4 +-
community/committers/podling-report/index.html | 4 +-
.../reference/generate_release_note/index.html | 4 +-
.../committers/reference/setup_gpg/index.html | 4 +-
community/committers/release/index.html | 4 +-
community/committers/verify/index.html | 4 +-
community/index.html | 4 +-
docs/category/services/index.html | 4 +-
docs/lua/classes/opendal.metadata.html | 2 +-
docs/lua/classes/opendal.operator.html | 2 +-
docs/lua/index.html | 2 +-
docs/nodejs/classes/BlockingLister.html | 4 +-
docs/nodejs/classes/Entry.html | 4 +-
docs/nodejs/classes/ExternalObject.html | 4 +-
docs/nodejs/classes/Layer.html | 2 +-
docs/nodejs/classes/Lister.html | 4 +-
docs/nodejs/classes/Metadata.html | 18 +-
docs/nodejs/classes/Operator.html | 60 +--
docs/nodejs/classes/RetryLayer.html | 16 +-
docs/nodejs/interfaces/PresignedRequest.html | 8 +-
docs/overview/index.html | 6 +-
docs/python/opendal.html | 434 ++++++++++-----------
docs/python/search.js | 2 +-
docs/quickstart/index.html | 6 +-
docs/rust/implementors/core/clone/trait.Clone.js | 2 +-
docs/rust/implementors/core/cmp/trait.Eq.js | 2 +-
docs/rust/implementors/core/cmp/trait.PartialEq.js | 2 +-
docs/rust/implementors/core/convert/trait.From.js | 2 +-
.../implementors/core/default/trait.Default.js | 2 +-
docs/rust/implementors/core/fmt/trait.Debug.js | 2 +-
docs/rust/implementors/core/fmt/trait.Display.js | 2 +-
.../core/future/future/trait.Future.js | 2 +-
docs/rust/implementors/core/hash/trait.Hash.js | 2 +-
.../core/iter/traits/iterator/trait.Iterator.js | 2 +-
docs/rust/implementors/core/marker/trait.Copy.js | 2 +-
.../implementors/core/marker/trait.StructuralEq.js | 2 +-
.../core/marker/trait.StructuralPartialEq.js | 2 +-
docs/rust/implementors/core/marker/trait.Sync.js | 2 +-
.../futures_core/stream/trait.Stream.js | 2 +-
.../futures_io/if_std/trait.AsyncSeek.js | 2 +-
.../implementors/serde/de/trait.Deserialize.js | 2 +-
docs/rust/implementors/std/io/trait.Read.js | 2 +-
docs/rust/implementors/std/io/trait.Seek.js | 2 +-
docs/rust/opendal/enum.EntryMode.html | 2 +-
docs/rust/opendal/enum.Metakey.html | 4 +-
docs/rust/opendal/enum.Scheme.html | 2 +-
docs/rust/opendal/raw/enum.Operation.html | 2 +-
docs/rust/opendal/raw/enum.PresignOperation.html | 2 +-
docs/rust/opendal/raw/oio/enum.ReadOperation.html | 10 +-
docs/rust/opendal/raw/oio/struct.Cursor.html | 8 +-
docs/rust/opendal/raw/oio/struct.FileReader.html | 6 +-
.../opendal/raw/oio/struct.FromStreamReader.html | 4 +-
.../rust/opendal/raw/oio/struct.FuturesReader.html | 4 +-
docs/rust/opendal/raw/oio/struct.LazyReader.html | 6 +-
docs/rust/opendal/raw/oio/struct.RangeReader.html | 6 +-
docs/rust/opendal/raw/oio/struct.StdReader.html | 2 +-
.../opendal/raw/oio/struct.StreamableReader.html | 6 +-
docs/rust/opendal/raw/oio/struct.TokioReader.html | 4 +-
docs/rust/opendal/raw/oio/trait.BlockingList.html | 4 +-
docs/rust/opendal/raw/oio/trait.BlockingRead.html | 18 +-
docs/rust/opendal/raw/oio/trait.List.html | 4 +-
docs/rust/opendal/raw/oio/trait.Read.html | 26 +-
docs/rust/opendal/raw/oio/trait.ReadExt.html | 12 +-
docs/rust/opendal/raw/oio/trait.Stream.html | 4 +-
docs/rust/opendal/raw/oio/trait.Write.html | 16 +-
docs/rust/opendal/raw/oio/trait.WriteBuf.html | 2 +-
docs/rust/opendal/raw/oio/type.BlockingLister.html | 12 +-
docs/rust/opendal/raw/oio/type.BlockingReader.html | 14 +-
docs/rust/opendal/raw/oio/type.BlockingWriter.html | 12 +-
docs/rust/opendal/raw/oio/type.Lister.html | 12 +-
docs/rust/opendal/raw/oio/type.Reader.html | 14 +-
docs/rust/opendal/raw/oio/type.Streamer.html | 12 +-
docs/rust/opendal/raw/oio/type.Writer.html | 12 +-
.../rust/opendal/raw/struct.IncomingAsyncBody.html | 10 +-
docs/rust/opendal/raw/trait.Accessor.html | 8 +-
docs/rust/opendal/struct.BlockingReader.html | 18 +-
docs/rust/opendal/struct.Error.html | 4 +-
docs/rust/opendal/struct.Operator.html | 50 +--
docs/rust/opendal/struct.Reader.html | 24 +-
docs/rust/search-index.js | 2 +-
docs/rust/src/opendal/layers/complete.rs.html | 2 +
docs/rust/src/opendal/raw/http_util/body.rs.html | 26 +-
docs/rust/src/opendal/raw/oio/read/api.rs.html | 90 ++---
.../rust/src/opendal/services/http/backend.rs.html | 44 +++
.../src/opendal/types/operator/operator.rs.html | 30 +-
docs/services/atomicserver/index.html | 6 +-
docs/services/azblob/index.html | 6 +-
docs/services/azdls/index.html | 6 +-
docs/services/cacache/index.html | 6 +-
docs/services/cos/index.html | 6 +-
docs/services/d1/index.html | 6 +-
docs/services/dashmap/index.html | 6 +-
docs/services/dropbox/index.html | 6 +-
docs/services/etcd/index.html | 6 +-
docs/services/foundationdb/index.html | 6 +-
docs/services/fs/index.html | 6 +-
docs/services/ftp/index.html | 6 +-
docs/services/gcs/index.html | 6 +-
docs/services/gdrive/index.html | 6 +-
docs/services/ghac/index.html | 6 +-
docs/services/gridfs/index.html | 6 +-
docs/services/hdfs/index.html | 6 +-
docs/services/http/index.html | 6 +-
docs/services/ipfs/index.html | 6 +-
docs/services/ipmfs/index.html | 6 +-
docs/services/libsql/index.html | 6 +-
docs/services/memcached/index.html | 6 +-
docs/services/memory/index.html | 6 +-
docs/services/moka/index.html | 6 +-
docs/services/mongodb/index.html | 6 +-
docs/services/mysql/index.html | 6 +-
docs/services/obs/index.html | 6 +-
docs/services/onedrive/index.html | 6 +-
docs/services/oss/index.html | 6 +-
docs/services/persy/index.html | 6 +-
docs/services/postgresql/index.html | 6 +-
docs/services/redb/index.html | 6 +-
docs/services/redis/index.html | 6 +-
docs/services/rocksdb/index.html | 6 +-
docs/services/s3/index.html | 6 +-
docs/services/sftp/index.html | 6 +-
docs/services/sled/index.html | 6 +-
docs/services/sqlite/index.html | 6 +-
docs/services/supabase/index.html | 6 +-
docs/services/swift/index.html | 6 +-
docs/services/tikv/index.html | 6 +-
docs/services/vercel_artifacts/index.html | 6 +-
docs/services/webdav/index.html | 6 +-
docs/services/webhdfs/index.html | 6 +-
download/index.html | 4 +-
index.html | 4 +-
191 files changed, 840 insertions(+), 772 deletions(-)
diff --git a/404.html b/404.html
index 0e327faae..fc8c79d67 100644
--- a/404.html
+++ b/404.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Page Not Found | Apache OpenDAL</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:url" content="https://opendal.apache.org/404.html"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/assets/js/054cd2fb.921c05d4.js b/assets/js/054cd2fb.81ee066b.js
similarity index 99%
rename from assets/js/054cd2fb.921c05d4.js
rename to assets/js/054cd2fb.81ee066b.js
index 34e962bb8..4d8fab3a9 100644
--- a/assets/js/054cd2fb.921c05d4.js
+++ b/assets/js/054cd2fb.81ee066b.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1846],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1846],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/0605a481.bc16fda4.js b/assets/js/0605a481.941da0d5.js
similarity index 99%
rename from assets/js/0605a481.bc16fda4.js
rename to assets/js/0605a481.941da0d5.js
index b9db9d51d..b84f1a437 100644
--- a/assets/js/0605a481.bc16fda4.js
+++ b/assets/js/0605a481.941da0d5.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2113],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>k});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2113],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>k});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/093f5f04.05ef1eda.js b/assets/js/093f5f04.40dd2315.js
similarity index 99%
rename from assets/js/093f5f04.05ef1eda.js
rename to assets/js/093f5f04.40dd2315.js
index 0b672cd40..2ea4a7f99 100644
--- a/assets/js/093f5f04.05ef1eda.js
+++ b/assets/js/093f5f04.40dd2315.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6915],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6915],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/09d8124e.c3f5d1a7.js b/assets/js/09d8124e.014ed0c3.js
similarity index 99%
rename from assets/js/09d8124e.c3f5d1a7.js
rename to assets/js/09d8124e.014ed0c3.js
index cc5c3bcb1..37f6a1fe3 100644
--- a/assets/js/09d8124e.c3f5d1a7.js
+++ b/assets/js/09d8124e.014ed0c3.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4543],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4543],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/136e1c50.06872c73.js b/assets/js/136e1c50.3f8cef48.js
similarity index 99%
rename from assets/js/136e1c50.06872c73.js
rename to assets/js/136e1c50.3f8cef48.js
index 43904ad3e..c8f4959fc 100644
--- a/assets/js/136e1c50.06872c73.js
+++ b/assets/js/136e1c50.3f8cef48.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3057],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3057],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/151cd40f.9352be09.js b/assets/js/151cd40f.4f44030f.js
similarity index 99%
rename from assets/js/151cd40f.9352be09.js
rename to assets/js/151cd40f.4f44030f.js
index b0d60b07a..3e3cdb62e 100644
--- a/assets/js/151cd40f.9352be09.js
+++ b/assets/js/151cd40f.4f44030f.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3702],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>b});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3702],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>b});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/1957547a.9bc5edd4.js b/assets/js/1957547a.c6ff95e9.js
similarity index 99%
rename from assets/js/1957547a.9bc5edd4.js
rename to assets/js/1957547a.c6ff95e9.js
index 862033160..d9bfbecc6 100644
--- a/assets/js/1957547a.9bc5edd4.js
+++ b/assets/js/1957547a.c6ff95e9.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4477],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4477],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/1db64337.a431fb0b.js b/assets/js/1db64337.a98c2b6f.js
similarity index 98%
rename from assets/js/1db64337.a431fb0b.js
rename to assets/js/1db64337.a98c2b6f.js
index 6bf56d437..89ffd3b7d 100644
--- a/assets/js/1db64337.a431fb0b.js
+++ b/assets/js/1db64337.a98c2b6f.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1372],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>f});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1372],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>f});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/22d8fa67.0576655a.js b/assets/js/22d8fa67.b3cd761c.js
similarity index 99%
rename from assets/js/22d8fa67.0576655a.js
rename to assets/js/22d8fa67.b3cd761c.js
index 09a446bfe..4c30f760d 100644
--- a/assets/js/22d8fa67.0576655a.js
+++ b/assets/js/22d8fa67.b3cd761c.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4536],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4536],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retu [...]
\ No newline at end of file
diff --git a/assets/js/29b208a4.a369991e.js b/assets/js/29b208a4.4f6a29e6.js
similarity index 99%
rename from assets/js/29b208a4.a369991e.js
rename to assets/js/29b208a4.4f6a29e6.js
index 03242773d..40c22c1f5 100644
--- a/assets/js/29b208a4.a369991e.js
+++ b/assets/js/29b208a4.4f6a29e6.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6152],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6152],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/2cbf1097.93eab90b.js b/assets/js/2cbf1097.f8647f58.js
similarity index 99%
rename from assets/js/2cbf1097.93eab90b.js
rename to assets/js/2cbf1097.f8647f58.js
index d30dfa260..fac41b38f 100644
--- a/assets/js/2cbf1097.93eab90b.js
+++ b/assets/js/2cbf1097.f8647f58.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2804],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2804],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/3632610d.8797c470.js b/assets/js/3632610d.55133f31.js
similarity index 99%
rename from assets/js/3632610d.8797c470.js
rename to assets/js/3632610d.55133f31.js
index f6d2ace9b..6e06f4233 100644
--- a/assets/js/3632610d.8797c470.js
+++ b/assets/js/3632610d.55133f31.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2963],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2963],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/381c04e3.a8d8ab00.js b/assets/js/381c04e3.ef40ef9b.js
similarity index 99%
rename from assets/js/381c04e3.a8d8ab00.js
rename to assets/js/381c04e3.ef40ef9b.js
index d36285106..a6282dec2 100644
--- a/assets/js/381c04e3.a8d8ab00.js
+++ b/assets/js/381c04e3.ef40ef9b.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1725],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1725],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/39a95de5.700d3f1e.js b/assets/js/39a95de5.0917c966.js
similarity index 99%
rename from assets/js/39a95de5.700d3f1e.js
rename to assets/js/39a95de5.0917c966.js
index cfddedd3f..fbb936703 100644
--- a/assets/js/39a95de5.700d3f1e.js
+++ b/assets/js/39a95de5.0917c966.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5737],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>f});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5737],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>f});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/42347498.cb01aeb4.js b/assets/js/42347498.c3ff129d.js
similarity index 99%
rename from assets/js/42347498.cb01aeb4.js
rename to assets/js/42347498.c3ff129d.js
index a2294ab1e..81d156aca 100644
--- a/assets/js/42347498.cb01aeb4.js
+++ b/assets/js/42347498.c3ff129d.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[7254],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>f});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[7254],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>f});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retu [...]
\ No newline at end of file
diff --git a/assets/js/434bbc94.47a3b4f0.js b/assets/js/434bbc94.ea34228e.js
similarity index 99%
rename from assets/js/434bbc94.47a3b4f0.js
rename to assets/js/434bbc94.ea34228e.js
index 0743f7594..1dcf9654f 100644
--- a/assets/js/434bbc94.47a3b4f0.js
+++ b/assets/js/434bbc94.ea34228e.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1163],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1163],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/4e2d8f56.d5011f0f.js b/assets/js/4e2d8f56.42017928.js
similarity index 99%
rename from assets/js/4e2d8f56.d5011f0f.js
rename to assets/js/4e2d8f56.42017928.js
index 4fdd96354..a9fcb7d0d 100644
--- a/assets/js/4e2d8f56.d5011f0f.js
+++ b/assets/js/4e2d8f56.42017928.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6752],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6752],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/500d55cb.994a49f4.js b/assets/js/500d55cb.b8480ee2.js
similarity index 99%
rename from assets/js/500d55cb.994a49f4.js
rename to assets/js/500d55cb.b8480ee2.js
index aaab931f2..d85c8b411 100644
--- a/assets/js/500d55cb.994a49f4.js
+++ b/assets/js/500d55cb.b8480ee2.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[7489],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[7489],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/57a16c1d.e55f634e.js b/assets/js/57a16c1d.01aeb3ee.js
similarity index 99%
rename from assets/js/57a16c1d.e55f634e.js
rename to assets/js/57a16c1d.01aeb3ee.js
index 44ec998b6..5f3a40e5f 100644
--- a/assets/js/57a16c1d.e55f634e.js
+++ b/assets/js/57a16c1d.01aeb3ee.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[7757],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[7757],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/592d1076.1c1a04f3.js b/assets/js/592d1076.a7e85bba.js
similarity index 99%
rename from assets/js/592d1076.1c1a04f3.js
rename to assets/js/592d1076.a7e85bba.js
index 3ae4740c6..24da5b69d 100644
--- a/assets/js/592d1076.1c1a04f3.js
+++ b/assets/js/592d1076.a7e85bba.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[990],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[990],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/621b831b.b42816ea.js b/assets/js/621b831b.0786ecd7.js
similarity index 99%
rename from assets/js/621b831b.b42816ea.js
rename to assets/js/621b831b.0786ecd7.js
index adfed30a5..bdb2d92b7 100644
--- a/assets/js/621b831b.b42816ea.js
+++ b/assets/js/621b831b.0786ecd7.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4551],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4551],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/65bf2b43.fbf3f9bc.js b/assets/js/65bf2b43.aaa03cbb.js
similarity index 99%
rename from assets/js/65bf2b43.fbf3f9bc.js
rename to assets/js/65bf2b43.aaa03cbb.js
index 2158d1838..504c28711 100644
--- a/assets/js/65bf2b43.fbf3f9bc.js
+++ b/assets/js/65bf2b43.aaa03cbb.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2115],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2115],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/67ecc70e.96896996.js b/assets/js/67ecc70e.132702fa.js
similarity index 99%
rename from assets/js/67ecc70e.96896996.js
rename to assets/js/67ecc70e.132702fa.js
index 38801b581..0b319bf31 100644
--- a/assets/js/67ecc70e.96896996.js
+++ b/assets/js/67ecc70e.132702fa.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4434],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4434],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/6a41242b.92eb7938.js b/assets/js/6a41242b.af56a0b5.js
similarity index 98%
rename from assets/js/6a41242b.92eb7938.js
rename to assets/js/6a41242b.af56a0b5.js
index 89f70833f..66bfb87ea 100644
--- a/assets/js/6a41242b.92eb7938.js
+++ b/assets/js/6a41242b.af56a0b5.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5571],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5571],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/6dc695d1.455352ff.js b/assets/js/6dc695d1.9e04fc5f.js
similarity index 99%
rename from assets/js/6dc695d1.455352ff.js
rename to assets/js/6dc695d1.9e04fc5f.js
index e9ad2f19a..71bbd1031 100644
--- a/assets/js/6dc695d1.455352ff.js
+++ b/assets/js/6dc695d1.9e04fc5f.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5982],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>f});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5982],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>f});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/6f4d3fa1.eac4b08a.js b/assets/js/6f4d3fa1.bfcc8573.js
similarity index 99%
rename from assets/js/6f4d3fa1.eac4b08a.js
rename to assets/js/6f4d3fa1.bfcc8573.js
index bd6030ef4..04a59036b 100644
--- a/assets/js/6f4d3fa1.eac4b08a.js
+++ b/assets/js/6f4d3fa1.bfcc8573.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5885],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5885],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/7263c0b5.dc1aea93.js b/assets/js/7263c0b5.a84e86dc.js
similarity index 99%
rename from assets/js/7263c0b5.dc1aea93.js
rename to assets/js/7263c0b5.a84e86dc.js
index 719c01dbc..6a4b395ea 100644
--- a/assets/js/7263c0b5.dc1aea93.js
+++ b/assets/js/7263c0b5.a84e86dc.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4649],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4649],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/8070e160.59ada4b2.js b/assets/js/8070e160.8b76640f.js
similarity index 99%
rename from assets/js/8070e160.59ada4b2.js
rename to assets/js/8070e160.8b76640f.js
index 054b5f8c1..d5a5e80f8 100644
--- a/assets/js/8070e160.59ada4b2.js
+++ b/assets/js/8070e160.8b76640f.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2651],{3905:(e,n,t)=>{t.d(n,{Zo:()=>s,kt:()=>g});var a=t(7294);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2651],{3905:(e,n,t)=>{t.d(n,{Zo:()=>s,kt:()=>g});var a=t(7294);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/8cc9519e.b900a6ab.js b/assets/js/8cc9519e.4a7c7b38.js
similarity index 97%
rename from assets/js/8cc9519e.b900a6ab.js
rename to assets/js/8cc9519e.4a7c7b38.js
index a22bcfd62..b0a16518e 100644
--- a/assets/js/8cc9519e.b900a6ab.js
+++ b/assets/js/8cc9519e.4a7c7b38.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1652],{3905:(e,t,a)=>{a.d(t,{Zo:()=>o,kt:()=>k});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1652],{3905:(e,t,a)=>{a.d(t,{Zo:()=>o,kt:()=>k});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retu [...]
\ No newline at end of file
diff --git a/assets/js/8f4159f2.3befd0cf.js b/assets/js/8f4159f2.5102efd2.js
similarity index 98%
rename from assets/js/8f4159f2.3befd0cf.js
rename to assets/js/8f4159f2.5102efd2.js
index cc69e4cb6..a48fc4c84 100644
--- a/assets/js/8f4159f2.3befd0cf.js
+++ b/assets/js/8f4159f2.5102efd2.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4719],{3905:(e,t,a)=>{a.d(t,{Zo:()=>o,kt:()=>k});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4719],{3905:(e,t,a)=>{a.d(t,{Zo:()=>o,kt:()=>k});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retu [...]
\ No newline at end of file
diff --git a/assets/js/8fb00c63.5b0866cc.js b/assets/js/8fb00c63.7117e799.js
similarity index 99%
rename from assets/js/8fb00c63.5b0866cc.js
rename to assets/js/8fb00c63.7117e799.js
index da81829d6..178073d2a 100644
--- a/assets/js/8fb00c63.5b0866cc.js
+++ b/assets/js/8fb00c63.7117e799.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4600],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>f});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4600],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>f});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/939f74f6.8322a605.js b/assets/js/939f74f6.004e084d.js
similarity index 99%
rename from assets/js/939f74f6.8322a605.js
rename to assets/js/939f74f6.004e084d.js
index 426500b38..28d5183a4 100644
--- a/assets/js/939f74f6.8322a605.js
+++ b/assets/js/939f74f6.004e084d.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4277],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4277],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/a0405932.7c3dd733.js b/assets/js/a0405932.32d32e43.js
similarity index 99%
rename from assets/js/a0405932.7c3dd733.js
rename to assets/js/a0405932.32d32e43.js
index 47c720892..1f3b59c83 100644
--- a/assets/js/a0405932.7c3dd733.js
+++ b/assets/js/a0405932.32d32e43.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[716],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[716],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/b114cefa.050934f6.js b/assets/js/b114cefa.ec34a0ba.js
similarity index 99%
rename from assets/js/b114cefa.050934f6.js
rename to assets/js/b114cefa.ec34a0ba.js
index 4096567fe..4ee379e23 100644
--- a/assets/js/b114cefa.050934f6.js
+++ b/assets/js/b114cefa.ec34a0ba.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2161],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2161],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/b56f9725.001bdbd1.js b/assets/js/b56f9725.1b1c9f70.js
similarity index 99%
rename from assets/js/b56f9725.001bdbd1.js
rename to assets/js/b56f9725.1b1c9f70.js
index bc50bcaca..352eacf06 100644
--- a/assets/js/b56f9725.001bdbd1.js
+++ b/assets/js/b56f9725.1b1c9f70.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[217],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>f});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[217],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>f});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/bb5b2057.dcda0a71.js b/assets/js/bb5b2057.f36e7183.js
similarity index 99%
rename from assets/js/bb5b2057.dcda0a71.js
rename to assets/js/bb5b2057.f36e7183.js
index d1ff63207..95873a834 100644
--- a/assets/js/bb5b2057.dcda0a71.js
+++ b/assets/js/bb5b2057.f36e7183.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5214],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>f});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5214],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>f});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/c0600a1b.fb350c7d.js b/assets/js/c0600a1b.eb95f4b4.js
similarity index 99%
rename from assets/js/c0600a1b.fb350c7d.js
rename to assets/js/c0600a1b.eb95f4b4.js
index 87c6343dd..ee6feeb39 100644
--- a/assets/js/c0600a1b.fb350c7d.js
+++ b/assets/js/c0600a1b.eb95f4b4.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[8874],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[8874],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/c46c6b55.fd7ee746.js b/assets/js/c46c6b55.be04ef71.js
similarity index 99%
rename from assets/js/c46c6b55.fd7ee746.js
rename to assets/js/c46c6b55.be04ef71.js
index 05c9a5257..de5ed1f9e 100644
--- a/assets/js/c46c6b55.fd7ee746.js
+++ b/assets/js/c46c6b55.be04ef71.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5927],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5927],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/c6ab695b.f1b59517.js b/assets/js/c6ab695b.97cc7bf3.js
similarity index 99%
rename from assets/js/c6ab695b.f1b59517.js
rename to assets/js/c6ab695b.97cc7bf3.js
index f51381825..a3b98e156 100644
--- a/assets/js/c6ab695b.f1b59517.js
+++ b/assets/js/c6ab695b.97cc7bf3.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[7289],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[7289],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/cc62039a.ba4fba01.js b/assets/js/cc62039a.8ba8a60d.js
similarity index 99%
rename from assets/js/cc62039a.ba4fba01.js
rename to assets/js/cc62039a.8ba8a60d.js
index d1af99eb9..3e193f691 100644
--- a/assets/js/cc62039a.ba4fba01.js
+++ b/assets/js/cc62039a.8ba8a60d.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1011],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1011],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/d3c0d8d5.4e45855d.js b/assets/js/d3c0d8d5.775a9caa.js
similarity index 99%
rename from assets/js/d3c0d8d5.4e45855d.js
rename to assets/js/d3c0d8d5.775a9caa.js
index cdbccca9e..16d421763 100644
--- a/assets/js/d3c0d8d5.4e45855d.js
+++ b/assets/js/d3c0d8d5.775a9caa.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4790],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4790],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/ddccef4c.1887b238.js b/assets/js/ddccef4c.c45bf0ad.js
similarity index 99%
rename from assets/js/ddccef4c.1887b238.js
rename to assets/js/ddccef4c.c45bf0ad.js
index 9ef020e5a..3481a311c 100644
--- a/assets/js/ddccef4c.1887b238.js
+++ b/assets/js/ddccef4c.c45bf0ad.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[9826],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[9826],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/e892cec6.06c9c9b4.js b/assets/js/e892cec6.54356fb1.js
similarity index 99%
rename from assets/js/e892cec6.06c9c9b4.js
rename to assets/js/e892cec6.54356fb1.js
index e2df7b676..ed59e8d9b 100644
--- a/assets/js/e892cec6.06c9c9b4.js
+++ b/assets/js/e892cec6.54356fb1.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3845],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>f});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3845],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>f});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/f1ca5a39.d88e48d1.js b/assets/js/f1ca5a39.23a00ece.js
similarity index 99%
rename from assets/js/f1ca5a39.d88e48d1.js
rename to assets/js/f1ca5a39.23a00ece.js
index be2c4f92a..ac16368e6 100644
--- a/assets/js/f1ca5a39.d88e48d1.js
+++ b/assets/js/f1ca5a39.23a00ece.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4538],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4538],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/f9145722.e43c5c00.js b/assets/js/f9145722.ec4c662c.js
similarity index 99%
rename from assets/js/f9145722.e43c5c00.js
rename to assets/js/f9145722.ec4c662c.js
index a6c9b7f8b..6ffcbfda5 100644
--- a/assets/js/f9145722.e43c5c00.js
+++ b/assets/js/f9145722.ec4c662c.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6529],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>k});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6529],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>k});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/fde7cc64.fcafcf9a.js b/assets/js/fde7cc64.0a2bbe33.js
similarity index 99%
rename from assets/js/fde7cc64.fcafcf9a.js
rename to assets/js/fde7cc64.0a2bbe33.js
index 084ff6022..3b072005f 100644
--- a/assets/js/fde7cc64.fcafcf9a.js
+++ b/assets/js/fde7cc64.0a2bbe33.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3454],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>f});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3454],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>f});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.dcf1bd2e.js b/assets/js/runtime~main.1ba8798c.js
similarity index 57%
rename from assets/js/runtime~main.dcf1bd2e.js
rename to assets/js/runtime~main.1ba8798c.js
index 839198c5d..9a770d451 100644
--- a/assets/js/runtime~main.dcf1bd2e.js
+++ b/assets/js/runtime~main.1ba8798c.js
@@ -1 +1 @@
-(()=>{"use strict";var e,c,a,b,f,d={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var a=t[e]={exports:{}};return d[e].call(a.exports,a,a.exports,r),a.exports}r.m=d,e=[],r.O=(c,a,b,f)=>{if(!a){var d=1/0;for(i=0;i<e.length;i++){a=e[i][0],b=e[i][1],f=e[i][2];for(var t=!0,o=0;o<a.length;o++)(!1&f||d>=f)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,f<d&&(d=f));if(t){e.splice(i--,1);var n=b();void 0!==n&&(c=n)}}return c}f=f||0;for(var i=e.length;i>0&&e[i-1] [...]
\ No newline at end of file
+(()=>{"use strict";var e,c,a,f,b,d={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var a=t[e]={exports:{}};return d[e].call(a.exports,a,a.exports,r),a.exports}r.m=d,e=[],r.O=(c,a,f,b)=>{if(!a){var d=1/0;for(i=0;i<e.length;i++){a=e[i][0],f=e[i][1],b=e[i][2];for(var t=!0,o=0;o<a.length;o++)(!1&b||d>=b)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,b<d&&(d=b));if(t){e.splice(i--,1);var n=f();void 0!==n&&(c=n)}}return c}b=b||0;for(var i=e.length;i>0&&e[i-1] [...]
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
index 8075733db..16c2f6750 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Archive | Apache OpenDAL</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:url" content="https://opendal.apache.org/blog/archive"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="t [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/how-opendal-read-data/index.html b/blog/how-opendal-read-data/index.html
index 790e0d51a..e1cf7dc4d 100644
--- a/blog/how-opendal-read-data/index.html
+++ b/blog/how-opendal-read-data/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">OpenDAL Internal: Data Reading | Apache OpenDAL</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:url" content="https://opendal.apache.org/blog/how-opendal-read-data"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:la [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index ef9870320..21108ef92 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Blog | Apache OpenDAL</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:url" content="https://opendal.apache.org/blog"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og:title" content="Blog | Apache OpenDAL"><meta data-rh=" [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/opendal-access-data-freely/index.html b/blog/opendal-access-data-freely/index.html
index 1a56d7c9a..b147339d9 100644
--- a/blog/opendal-access-data-freely/index.html
+++ b/blog/opendal-access-data-freely/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Apache OpenDAL(Incubating): Access Data Freely | Apache OpenDAL</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:url" content="https://opendal.apache.org/blog/opendal-access-data-freely"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="tru [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/opendal-entered-apache-incubator/index.html b/blog/opendal-entered-apache-incubator/index.html
index 8dac32810..2e041b222 100644
--- a/blog/opendal-entered-apache-incubator/index.html
+++ b/blog/opendal-entered-apache-incubator/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Way to Go: OpenDAL successfully entered Apache Incubator | Apache OpenDAL</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:url" content="https://opendal.apache.org/blog/opendal-entered-apache-incubator"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><m [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/owo-1/index.html b/blog/owo-1/index.html
index c1bc1ec4b..830c14279 100644
--- a/blog/owo-1/index.html
+++ b/blog/owo-1/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">OwO #1: The v0.40 Release | Apache OpenDAL</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:url" content="https://opendal.apache.org/blog/owo-1"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"> [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/tags/announcement/index.html b/blog/tags/announcement/index.html
index e4dc9b484..11a21fb4f 100644
--- a/blog/tags/announcement/index.html
+++ b/blog/tags/announcement/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">2 posts tagged with "announcement" | Apache OpenDAL</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:url" content="https://opendal.apache.org/blog/tags/announcement"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property= [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/tags/index.html b/blog/tags/index.html
index 160a35959..ea6ce251c 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Tags | Apache OpenDAL</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:url" content="https://opendal.apache.org/blog/tags"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og:title" content="Tags | Apache OpenDAL"><meta data [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/tags/internal/index.html b/blog/tags/internal/index.html
index 22b66a49d..608013696 100644
--- a/blog/tags/internal/index.html
+++ b/blog/tags/internal/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">One post tagged with "internal" | Apache OpenDAL</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:url" content="https://opendal.apache.org/blog/tags/internal"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og:tit [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/tags/owo/index.html b/blog/tags/owo/index.html
index d44596bf9..7d4daccbf 100644
--- a/blog/tags/owo/index.html
+++ b/blog/tags/owo/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">One post tagged with "owo" | Apache OpenDAL</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:url" content="https://opendal.apache.org/blog/tags/owo"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og:title" conten [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/community/category/committers/index.html b/community/category/committers/index.html
index f64de4249..998450bca 100644
--- a/community/category/committers/index.html
+++ b/community/category/committers/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Committers | Apache OpenDAL</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:url" content="https://opendal.apache.org/community/category/committers"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="c [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/community/category/reference/index.html b/community/category/reference/index.html
index 53379666c..be528686f 100644
--- a/community/category/reference/index.html
+++ b/community/category/reference/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Reference | Apache OpenDAL</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:url" content="https://opendal.apache.org/community/category/reference"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="cur [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/community/committers/committer/index.html b/community/committers/committer/index.html
index 14e263fee..c8f1283cb 100644
--- a/community/committers/committer/index.html
+++ b/community/committers/committer/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Committer onboarding | Apache OpenDAL</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:url" content="https://opendal.apache.org/community/committers/committer"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/community/committers/podling-report/index.html b/community/committers/podling-report/index.html
index 699cc0b9c..0dad87fff 100644
--- a/community/committers/podling-report/index.html
+++ b/community/committers/podling-report/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Podling status reports | Apache OpenDAL</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:url" content="https://opendal.apache.org/community/committers/podling-report"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_v [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/community/committers/reference/generate_release_note/index.html b/community/committers/reference/generate_release_note/index.html
index 5830c0477..63f39d208 100644
--- a/community/committers/reference/generate_release_note/index.html
+++ b/community/committers/reference/generate_release_note/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Generate release note | Apache OpenDAL</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:url" content="https://opendal.apache.org/community/committers/reference/generate_release_note"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" na [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/community/committers/reference/setup_gpg/index.html b/community/committers/reference/setup_gpg/index.html
index 337a83597..9571eb027 100644
--- a/community/committers/reference/setup_gpg/index.html
+++ b/community/committers/reference/setup_gpg/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Setup GPG key | Apache OpenDAL</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:url" content="https://opendal.apache.org/community/committers/reference/setup_gpg"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_versi [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/community/committers/release/index.html b/community/committers/release/index.html
index f96af878b..acf96a1a4 100644
--- a/community/committers/release/index.html
+++ b/community/committers/release/index.html
@@ -5,7 +5,7 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Create a OpenDAL Release | Apache OpenDAL</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:url" content="https://opendal.apache.org/community/committers/release"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_versio [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
@@ -20,7 +20,7 @@ please cancel the release for the current <code>release_version</code>,
<em>increase th RC counting</em> and re-initiate a release with the new <code>release_version</code>.
And remember to delete the wrong artifacts from the SVN dist repo.
Additionally, you should also drop the staging Maven artifacts on <a href="https://repository.apache.org" target="_blank" rel="noopener noreferrer">https://repository.apache.org</a>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="voting">Voting<a href="#voting" class="hash-link" aria-label="Direct link to Voting" title="Direct link to Voting"></a></h2><p>As an incubating project, OpenDAL requires votes from both the OpenDAL Community and Incubator Community.</p><h3 class="anchor [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/community/committers/verify/index.html b/community/committers/verify/index.html
index 9bb4c93c1..b26b45b49 100644
--- a/community/committers/verify/index.html
+++ b/community/committers/verify/index.html
@@ -5,7 +5,7 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Verify a release candidate | Apache OpenDAL</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:url" content="https://opendal.apache.org/community/committers/verify"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_versi [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
@@ -13,7 +13,7 @@
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
You can download it directly from <a href="https://raw.githubusercontent.com/apache/incubator-opendal/main/scripts/check.sh" target="_blank" rel="noopener noreferrer">here</a>
or check it out from the repository:</p><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> clone git@github.com:apache/incuba [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/community/index.html b/community/index.html
index 38370a323..69456178c 100644
--- a/community/index.html
+++ b/community/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Community | Apache OpenDAL</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:url" content="https://opendal.apache.org/community/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-r [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/category/services/index.html b/docs/category/services/index.html
index 1c0648561..3f169452b 100644
--- a/docs/category/services/index.html
+++ b/docs/category/services/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Services | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/category/services"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current">< [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/lua/classes/opendal.metadata.html b/docs/lua/classes/opendal.metadata.html
index 45c746d30..f74de5d29 100644
--- a/docs/lua/classes/opendal.metadata.html
+++ b/docs/lua/classes/opendal.metadata.html
@@ -138,7 +138,7 @@
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
-<i style="float:right;">Last updated 2023-11-18 16:04:14 </i>
+<i style="float:right;">Last updated 2023-11-18 17:46:22 </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
diff --git a/docs/lua/classes/opendal.operator.html b/docs/lua/classes/opendal.operator.html
index b77829359..1a998fe2f 100644
--- a/docs/lua/classes/opendal.operator.html
+++ b/docs/lua/classes/opendal.operator.html
@@ -321,7 +321,7 @@
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
-<i style="float:right;">Last updated 2023-11-18 16:04:14 </i>
+<i style="float:right;">Last updated 2023-11-18 17:46:22 </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
diff --git a/docs/lua/index.html b/docs/lua/index.html
index 53c0e0751..0f91b9fa9 100644
--- a/docs/lua/index.html
+++ b/docs/lua/index.html
@@ -57,7 +57,7 @@
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
-<i style="float:right;">Last updated 2023-11-18 16:04:14 </i>
+<i style="float:right;">Last updated 2023-11-18 17:46:22 </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
diff --git a/docs/nodejs/classes/BlockingLister.html b/docs/nodejs/classes/BlockingLister.html
index c7f27940c..8310cb2c0 100644
--- a/docs/nodejs/classes/BlockingLister.html
+++ b/docs/nodejs/classes/BlockingLister.html
@@ -20,7 +20,7 @@
<ul class="tsd-hierarchy">
<li><span class="target">BlockingLister</span></li></ul></section><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L443">index.d.ts:443</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L443">index.d.ts:443</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -51,7 +51,7 @@
<li class="tsd-description">
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="Entry.html" class="tsd-signature-type tsd-kind-class">Entry</a></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L444">index.d.ts:444</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L444">index.d.ts:444</a></li></ul></aside></li></ul></section></section></div>
<div class="col-sidebar">
<div class="page-menu">
<div class="tsd-navigation settings">
diff --git a/docs/nodejs/classes/Entry.html b/docs/nodejs/classes/Entry.html
index 41a0446c4..ec5d05789 100644
--- a/docs/nodejs/classes/Entry.html
+++ b/docs/nodejs/classes/Entry.html
@@ -20,7 +20,7 @@
<ul class="tsd-hierarchy">
<li><span class="target">Entry</span></li></ul></section><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L406">index.d.ts:406</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L406">index.d.ts:406</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -54,7 +54,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L408">index.d.ts:408</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L408">index.d.ts:408</a></li></ul></aside></li></ul></section></section></div>
<div class="col-sidebar">
<div class="page-menu">
<div class="tsd-navigation settings">
diff --git a/docs/nodejs/classes/ExternalObject.html b/docs/nodejs/classes/ExternalObject.html
index 2c7c00663..805728d06 100644
--- a/docs/nodejs/classes/ExternalObject.html
+++ b/docs/nodejs/classes/ExternalObject.html
@@ -25,7 +25,7 @@
<ul class="tsd-hierarchy">
<li><span class="target">ExternalObject</span></li></ul></section><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L25">index.d.ts:25</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L25">index.d.ts:25</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -64,7 +64,7 @@
<li class="tsd-parameter">
<h5><code class="tsd-tag ts-flagReadonly">Readonly</code> <span class="tsd-kind-property"></span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">typeof </span><a href="ExternalObject.html#reflection-5.__type.reflection-7" class="tsd-signature-type tsd-kind-property"></a></h5></li></ul></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L26">index.d.ts:26</a></li></ul></aside></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L26">index.d.ts:26</a></li></ul></aside></section></section></div>
<div class="col-sidebar">
<div class="page-menu">
<div class="tsd-navigation settings">
diff --git a/docs/nodejs/classes/Layer.html b/docs/nodejs/classes/Layer.html
index 517a91af9..6d140fe77 100644
--- a/docs/nodejs/classes/Layer.html
+++ b/docs/nodejs/classes/Layer.html
@@ -24,7 +24,7 @@
<ul class="tsd-hierarchy">
<li><span class="target">Layer</span></li></ul></section><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L447">index.d.ts:447</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L447">index.d.ts:447</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
diff --git a/docs/nodejs/classes/Lister.html b/docs/nodejs/classes/Lister.html
index 7e5719e8b..95a424168 100644
--- a/docs/nodejs/classes/Lister.html
+++ b/docs/nodejs/classes/Lister.html
@@ -20,7 +20,7 @@
<ul class="tsd-hierarchy">
<li><span class="target">Lister</span></li></ul></section><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L432">index.d.ts:432</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L432">index.d.ts:432</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -58,7 +58,7 @@ thing internally.</p>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="Entry.html" class="tsd-signature-type tsd-kind-class">Entry</a><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L441">index.d.ts:441</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L441">index.d.ts:441</a></li></ul></aside></li></ul></section></section></div>
<div class="col-sidebar">
<div class="page-menu">
<div class="tsd-navigation settings">
diff --git a/docs/nodejs/classes/Metadata.html b/docs/nodejs/classes/Metadata.html
index f0a8e85cf..4692cd92e 100644
--- a/docs/nodejs/classes/Metadata.html
+++ b/docs/nodejs/classes/Metadata.html
@@ -20,7 +20,7 @@
<ul class="tsd-hierarchy">
<li><span class="target">Metadata</span></li></ul></section><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L410">index.d.ts:410</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L410">index.d.ts:410</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -64,7 +64,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L416">index.d.ts:416</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L416">index.d.ts:416</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="contentLength" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>content<wbr/>Length</span><a href="#contentLength" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -75,7 +75,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">bigint</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L418">index.d.ts:418</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L418">index.d.ts:418</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="contentMd5" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>content<wbr/>Md5</span><a href="#contentMd5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -86,7 +86,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L420">index.d.ts:420</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L420">index.d.ts:420</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="contentType" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>content<wbr/>Type</span><a href="#contentType" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -97,7 +97,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L422">index.d.ts:422</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L422">index.d.ts:422</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="etag" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>etag</span><a href="#etag" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -108,7 +108,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L424">index.d.ts:424</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L424">index.d.ts:424</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="lastModified" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>last<wbr/>Modified</span><a href="#lastModified" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -120,7 +120,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L430">index.d.ts:430</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L430">index.d.ts:430</a></li></ul></aside></li></ul></section></section>
<section class="tsd-panel-group tsd-member-group">
<h2>Methods</h2>
<section class="tsd-panel tsd-member"><a id="isDirectory" class="tsd-anchor"></a>
@@ -133,7 +133,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L412">index.d.ts:412</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L412">index.d.ts:412</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="isFile" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>is<wbr/>File</span><a href="#isFile" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -144,7 +144,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L414">index.d.ts:414</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L414">index.d.ts:414</a></li></ul></aside></li></ul></section></section></div>
<div class="col-sidebar">
<div class="page-menu">
<div class="tsd-navigation settings">
diff --git a/docs/nodejs/classes/Operator.html b/docs/nodejs/classes/Operator.html
index 5cca16d80..da6d6858f 100644
--- a/docs/nodejs/classes/Operator.html
+++ b/docs/nodejs/classes/Operator.html
@@ -20,7 +20,7 @@
<ul class="tsd-hierarchy">
<li><span class="target">Operator</span></li></ul></section><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L39">index.d.ts:39</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L39">index.d.ts:39</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -80,7 +80,7 @@
<h4>See</h4><p>For a detailed definition of scheme, see <a href="https://opendal.apache.org/docs/category/services">https://opendal.apache.org/docs/category/services</a></p>
</div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L41">index.d.ts:41</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L41">index.d.ts:41</a></li></ul></aside></li></ul></section></section>
<section class="tsd-panel-group tsd-member-group">
<h2>Methods</h2>
<section class="tsd-panel tsd-member"><a id="append" class="tsd-anchor"></a>
@@ -106,7 +106,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L176">index.d.ts:176</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L176">index.d.ts:176</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="check" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>check</span><a href="#check" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -120,7 +120,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L84">index.d.ts:84</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L84">index.d.ts:84</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="copy" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>copy</span><a href="#copy" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -140,7 +140,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L185">index.d.ts:185</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L185">index.d.ts:185</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="copySync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>copy<wbr/>Sync</span><a href="#copySync" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -160,7 +160,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L194">index.d.ts:194</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L194">index.d.ts:194</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="createDir" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>create<wbr/>Dir</span><a href="#createDir" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -178,7 +178,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L111">index.d.ts:111</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L111">index.d.ts:111</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="createDirSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>create<wbr/>Dir<wbr/>Sync</span><a href="#createDirSync" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -196,7 +196,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L120">index.d.ts:120</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L120">index.d.ts:120</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="delete" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>delete</span><a href="#delete" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -215,7 +215,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L275">index.d.ts:275</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L275">index.d.ts:275</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="deleteSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>delete<wbr/>Sync</span><a href="#deleteSync" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -233,7 +233,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L284">index.d.ts:284</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L284">index.d.ts:284</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="isExist" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>is<wbr/>Exist</span><a href="#isExist" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -251,7 +251,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L93">index.d.ts:93</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L93">index.d.ts:93</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="isExistSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>is<wbr/>Exist<wbr/>Sync</span><a href="#isExistSync" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -269,7 +269,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L102">index.d.ts:102</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L102">index.d.ts:102</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="layer" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>layer</span><a href="#layer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -285,7 +285,7 @@
<h4 class="tsd-returns-title">Returns <a href="Operator.html" class="tsd-signature-type tsd-kind-class">Operator</a></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L404">index.d.ts:404</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L404">index.d.ts:404</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="list" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>list</span><a href="#list" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -305,7 +305,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><a href="Lister.html" class="tsd-signature-type tsd-kind-class">Lister</a><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L331">index.d.ts:331</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L331">index.d.ts:331</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="listSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>list<wbr/>Sync</span><a href="#listSync" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -325,7 +325,7 @@
<h4 class="tsd-returns-title">Returns <a href="BlockingLister.html" class="tsd-signature-type tsd-kind-class">BlockingLister</a></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L354">index.d.ts:354</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L354">index.d.ts:354</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="presignRead" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>presign<wbr/>Read</span><a href="#presignRead" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -346,7 +346,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><a href="../interfaces/PresignedRequest.html" class="tsd-signature-type tsd-kind-interface">PresignedRequest</a><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L370">index.d.ts:370</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L370">index.d.ts:370</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="presignStat" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>presign<wbr/>Stat</span><a href="#presignStat" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -367,7 +367,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><a href="../interfaces/PresignedRequest.html" class="tsd-signature-type tsd-kind-interface">PresignedRequest</a><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L402">index.d.ts:402</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L402">index.d.ts:402</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="presignWrite" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>presign<wbr/>Write</span><a href="#presignWrite" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -388,7 +388,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><a href="../interfaces/PresignedRequest.html" class="tsd-signature-type tsd-kind-interface">PresignedRequest</a><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L386">index.d.ts:386</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L386">index.d.ts:386</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="read" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>read</span><a href="#read" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -406,7 +406,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type ">Buffer</span><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L129">index.d.ts:129</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L129">index.d.ts:129</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="readSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>read<wbr/>Sync</span><a href="#readSync" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -424,7 +424,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Buffer</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L138">index.d.ts:138</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L138">index.d.ts:138</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="remove" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>remove</span><a href="#remove" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -443,7 +443,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L296">index.d.ts:296</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L296">index.d.ts:296</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="removeAll" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>remove<wbr/>All</span><a href="#removeAll" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -462,7 +462,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L308">index.d.ts:308</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L308">index.d.ts:308</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="rename" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>rename</span><a href="#rename" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -483,7 +483,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L205">index.d.ts:205</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L205">index.d.ts:205</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="renameSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>rename<wbr/>Sync</span><a href="#renameSync" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -504,7 +504,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L216">index.d.ts:216</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L216">index.d.ts:216</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="scan" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>scan</span><a href="#scan" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -524,7 +524,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><a href="Lister.html" class="tsd-signature-type tsd-kind-class">Lister</a><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L240">index.d.ts:240</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L240">index.d.ts:240</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="scanSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>scan<wbr/>Sync</span><a href="#scanSync" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -544,7 +544,7 @@
<h4 class="tsd-returns-title">Returns <a href="BlockingLister.html" class="tsd-signature-type tsd-kind-class">BlockingLister</a></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L263">index.d.ts:263</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L263">index.d.ts:263</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="stat" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>stat</span><a href="#stat" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -568,7 +568,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><a href="Metadata.html" class="tsd-signature-type tsd-kind-class">Metadata</a><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L61">index.d.ts:61</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L61">index.d.ts:61</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="statSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>stat<wbr/>Sync</span><a href="#statSync" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -586,7 +586,7 @@
<h4 class="tsd-returns-title">Returns <a href="Metadata.html" class="tsd-signature-type tsd-kind-class">Metadata</a></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L73">index.d.ts:73</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L73">index.d.ts:73</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="write" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>write</span><a href="#write" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -606,7 +606,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L149">index.d.ts:149</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L149">index.d.ts:149</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="writeSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>write<wbr/>Sync</span><a href="#writeSync" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -626,7 +626,7 @@
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L160">index.d.ts:160</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L160">index.d.ts:160</a></li></ul></aside></li></ul></section></section></div>
<div class="col-sidebar">
<div class="page-menu">
<div class="tsd-navigation settings">
diff --git a/docs/nodejs/classes/RetryLayer.html b/docs/nodejs/classes/RetryLayer.html
index 5f6df9d31..cb11d3cdf 100644
--- a/docs/nodejs/classes/RetryLayer.html
+++ b/docs/nodejs/classes/RetryLayer.html
@@ -31,7 +31,7 @@ returns true. If operation still failed, this layer will set error to
<ul class="tsd-hierarchy">
<li><span class="target">RetryLayer</span></li></ul></section><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L473">index.d.ts:473</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L473">index.d.ts:473</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -62,7 +62,7 @@ returns true. If operation still failed, this layer will set error to
<li class="tsd-description">
<h4 class="tsd-returns-title">Returns <a href="RetryLayer.html" class="tsd-signature-type tsd-kind-class">RetryLayer</a></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L474">index.d.ts:474</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L474">index.d.ts:474</a></li></ul></aside></li></ul></section></section>
<section class="tsd-panel-group tsd-member-group">
<h2>Accessors</h2>
<section class="tsd-panel tsd-member"><a id="factor" class="tsd-anchor"></a>
@@ -81,7 +81,7 @@ returns true. If operation still failed, this layer will set error to
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L495">index.d.ts:495</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L495">index.d.ts:495</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="jitter" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>jitter</span><a href="#jitter" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -99,7 +99,7 @@ to current delay.</p>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L481">index.d.ts:481</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L481">index.d.ts:481</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="maxDelay" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>max<wbr/>Delay</span><a href="#maxDelay" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -119,7 +119,7 @@ to current delay.</p>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L505">index.d.ts:505</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L505">index.d.ts:505</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="maxTimes" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>max<wbr/>Times</span><a href="#maxTimes" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -136,7 +136,7 @@ to current delay.</p>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L487">index.d.ts:487</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L487">index.d.ts:487</a></li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member"><a id="minDelay" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>min<wbr/>Delay</span><a href="#minDelay" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -155,7 +155,7 @@ to current delay.</p>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L513">index.d.ts:513</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L513">index.d.ts:513</a></li></ul></aside></li></ul></section></section>
<section class="tsd-panel-group tsd-member-group">
<h2>Methods</h2>
<section class="tsd-panel tsd-member"><a id="build" class="tsd-anchor"></a>
@@ -165,7 +165,7 @@ to current delay.</p>
<li class="tsd-description">
<h4 class="tsd-returns-title">Returns <a href="ExternalObject.html" class="tsd-signature-type tsd-kind-class">ExternalObject</a><span class="tsd-signature-symbol"><</span><a href="Layer.html" class="tsd-signature-type tsd-kind-class">Layer</a><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L514">index.d.ts:514</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L514">index.d.ts:514</a></li></ul></aside></li></ul></section></section></div>
<div class="col-sidebar">
<div class="page-menu">
<div class="tsd-navigation settings">
diff --git a/docs/nodejs/interfaces/PresignedRequest.html b/docs/nodejs/interfaces/PresignedRequest.html
index 181adbe3a..054e9b50a 100644
--- a/docs/nodejs/interfaces/PresignedRequest.html
+++ b/docs/nodejs/interfaces/PresignedRequest.html
@@ -20,7 +20,7 @@
<ul class="tsd-hierarchy">
<li><span class="target">PresignedRequest</span></li></ul></section><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L31">index.d.ts:31</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L31">index.d.ts:31</a></li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -41,7 +41,7 @@
</div>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L37">index.d.ts:37</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L37">index.d.ts:37</a></li></ul></aside></section>
<section class="tsd-panel tsd-member"><a id="method" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>method</span><a href="#method" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<div class="tsd-signature"><span class="tsd-kind-property">method</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
@@ -49,7 +49,7 @@
</div>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L33">index.d.ts:33</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L33">index.d.ts:33</a></li></ul></aside></section>
<section class="tsd-panel tsd-member"><a id="url" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>url</span><a href="#url" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
<div class="tsd-signature"><span class="tsd-kind-property">url</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
@@ -57,7 +57,7 @@
</div>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/4a6d1f6/bindings/nodejs/index.d.ts#L35">index.d.ts:35</a></li></ul></aside></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/a53a7e5/bindings/nodejs/index.d.ts#L35">index.d.ts:35</a></li></ul></aside></section></section></div>
<div class="col-sidebar">
<div class="page-menu">
<div class="tsd-navigation settings">
diff --git a/docs/overview/index.html b/docs/overview/index.html
index 2f6785c66..4dc58d13f 100644
--- a/docs/overview/index.html
+++ b/docs/overview/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Welcome to Apache OpenDAL | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/overview"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="cu [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/python/opendal.html b/docs/python/opendal.html
index 26b2bc760..1e6f6b299 100644
--- a/docs/python/opendal.html
+++ b/docs/python/opendal.html
@@ -207,22 +207,22 @@
<a class="class" href="#Metadata">Metadata</a>
<ul class="memberlist">
<li>
- <a class="variable" href="#Metadata.etag">etag</a>
+ <a class="variable" href="#Metadata.content_length">content_length</a>
</li>
<li>
<a class="variable" href="#Metadata.content_type">content_type</a>
</li>
<li>
- <a class="variable" href="#Metadata.content_length">content_length</a>
+ <a class="variable" href="#Metadata.etag">etag</a>
</li>
<li>
- <a class="variable" href="#Metadata.mode">mode</a>
+ <a class="variable" href="#Metadata.content_disposition">content_disposition</a>
</li>
<li>
- <a class="variable" href="#Metadata.content_md5">content_md5</a>
+ <a class="variable" href="#Metadata.mode">mode</a>
</li>
<li>
- <a class="variable" href="#Metadata.content_disposition">content_disposition</a>
+ <a class="variable" href="#Metadata.content_md5">content_md5</a>
</li>
</ul>
@@ -246,79 +246,76 @@
<a class="class" href="#Capability">Capability</a>
<ul class="memberlist">
<li>
- <a class="variable" href="#Capability.write">write</a>
- </li>
- <li>
- <a class="variable" href="#Capability.write_can_append">write_can_append</a>
+ <a class="variable" href="#Capability.read_with_override_content_type">read_with_override_content_type</a>
</li>
<li>
- <a class="variable" href="#Capability.write_with_cache_control">write_with_cache_control</a>
+ <a class="variable" href="#Capability.write_can_multi">write_can_multi</a>
</li>
<li>
- <a class="variable" href="#Capability.batch_delete">batch_delete</a>
+ <a class="variable" href="#Capability.rename">rename</a>
</li>
<li>
- <a class="variable" href="#Capability.stat_with_if_none_match">stat_with_if_none_match</a>
+ <a class="variable" href="#Capability.list_without_recursive">list_without_recursive</a>
</li>
<li>
- <a class="variable" href="#Capability.read_with_override_cache_control">read_with_override_cache_control</a>
+ <a class="variable" href="#Capability.read_with_range">read_with_range</a>
</li>
<li>
<a class="variable" href="#Capability.read">read</a>
</li>
<li>
- <a class="variable" href="#Capability.read_with_override_content_type">read_with_override_content_type</a>
+ <a class="variable" href="#Capability.read_with_if_none_match">read_with_if_none_match</a>
</li>
<li>
- <a class="variable" href="#Capability.write_can_multi">write_can_multi</a>
+ <a class="variable" href="#Capability.list_with_limit">list_with_limit</a>
</li>
<li>
- <a class="variable" href="#Capability.read_with_override_content_disposition">read_with_override_content_disposition</a>
+ <a class="variable" href="#Capability.read_with_if_match">read_with_if_match</a>
</li>
<li>
- <a class="variable" href="#Capability.read_can_seek">read_can_seek</a>
+ <a class="variable" href="#Capability.presign">presign</a>
</li>
<li>
<a class="variable" href="#Capability.write_with_content_type">write_with_content_type</a>
</li>
<li>
- <a class="variable" href="#Capability.presign_stat">presign_stat</a>
+ <a class="variable" href="#Capability.write_total_max_size">write_total_max_size</a>
</li>
<li>
- <a class="variable" href="#Capability.read_with_range">read_with_range</a>
+ <a class="variable" href="#Capability.list">list</a>
</li>
<li>
- <a class="variable" href="#Capability.write_multi_align_size">write_multi_align_size</a>
+ <a class="variable" href="#Capability.presign_read">presign_read</a>
</li>
<li>
- <a class="variable" href="#Capability.copy">copy</a>
+ <a class="variable" href="#Capability.stat_with_if_none_match">stat_with_if_none_match</a>
</li>
<li>
- <a class="variable" href="#Capability.delete">delete</a>
+ <a class="variable" href="#Capability.copy">copy</a>
</li>
<li>
- <a class="variable" href="#Capability.list_with_start_after">list_with_start_after</a>
+ <a class="variable" href="#Capability.write_can_append">write_can_append</a>
</li>
<li>
- <a class="variable" href="#Capability.presign">presign</a>
+ <a class="variable" href="#Capability.stat">stat</a>
</li>
<li>
- <a class="variable" href="#Capability.list">list</a>
+ <a class="variable" href="#Capability.read_with_override_content_disposition">read_with_override_content_disposition</a>
</li>
<li>
- <a class="variable" href="#Capability.blocking">blocking</a>
+ <a class="variable" href="#Capability.write_with_cache_control">write_with_cache_control</a>
</li>
<li>
- <a class="variable" href="#Capability.create_dir">create_dir</a>
+ <a class="variable" href="#Capability.read_with_override_cache_control">read_with_override_cache_control</a>
</li>
<li>
- <a class="variable" href="#Capability.rename">rename</a>
+ <a class="variable" href="#Capability.create_dir">create_dir</a>
</li>
<li>
- <a class="variable" href="#Capability.write_total_max_size">write_total_max_size</a>
+ <a class="variable" href="#Capability.delete">delete</a>
</li>
<li>
- <a class="variable" href="#Capability.list_with_limit">list_with_limit</a>
+ <a class="variable" href="#Capability.presign_stat">presign_stat</a>
</li>
<li>
<a class="variable" href="#Capability.presign_write">presign_write</a>
@@ -327,43 +324,46 @@
<a class="variable" href="#Capability.batch">batch</a>
</li>
<li>
- <a class="variable" href="#Capability.write_can_empty">write_can_empty</a>
+ <a class="variable" href="#Capability.batch_max_operations">batch_max_operations</a>
</li>
<li>
- <a class="variable" href="#Capability.write_multi_min_size">write_multi_min_size</a>
+ <a class="variable" href="#Capability.blocking">blocking</a>
</li>
<li>
- <a class="variable" href="#Capability.batch_max_operations">batch_max_operations</a>
+ <a class="variable" href="#Capability.write">write</a>
</li>
<li>
- <a class="variable" href="#Capability.read_can_next">read_can_next</a>
+ <a class="variable" href="#Capability.write_multi_min_size">write_multi_min_size</a>
+ </li>
+ <li>
+ <a class="variable" href="#Capability.read_can_seek">read_can_seek</a>
</li>
<li>
<a class="variable" href="#Capability.list_with_recursive">list_with_recursive</a>
</li>
<li>
- <a class="variable" href="#Capability.stat">stat</a>
+ <a class="variable" href="#Capability.batch_delete">batch_delete</a>
</li>
<li>
- <a class="variable" href="#Capability.stat_with_if_match">stat_with_if_match</a>
+ <a class="variable" href="#Capability.read_can_next">read_can_next</a>
</li>
<li>
- <a class="variable" href="#Capability.write_with_content_disposition">write_with_content_disposition</a>
+ <a class="variable" href="#Capability.write_multi_max_size">write_multi_max_size</a>
</li>
<li>
- <a class="variable" href="#Capability.list_without_recursive">list_without_recursive</a>
+ <a class="variable" href="#Capability.list_with_start_after">list_with_start_after</a>
</li>
<li>
- <a class="variable" href="#Capability.write_multi_max_size">write_multi_max_size</a>
+ <a class="variable" href="#Capability.stat_with_if_match">stat_with_if_match</a>
</li>
<li>
- <a class="variable" href="#Capability.read_with_if_none_match">read_with_if_none_match</a>
+ <a class="variable" href="#Capability.write_with_content_disposition">write_with_content_disposition</a>
</li>
<li>
- <a class="variable" href="#Capability.read_with_if_match">read_with_if_match</a>
+ <a class="variable" href="#Capability.write_multi_align_size">write_multi_align_size</a>
</li>
<li>
- <a class="variable" href="#Capability.presign_read">presign_read</a>
+ <a class="variable" href="#Capability.write_can_empty">write_can_empty</a>
</li>
</ul>
@@ -1281,15 +1281,15 @@ The default value for whence is <code>SEEK_SET</code>. Values for <code>whence</
- <div id="Metadata.etag" class="classattr">
+ <div id="Metadata.content_length" class="classattr">
<div class="attr variable">
- <span class="name">etag</span><span class="annotation">: Optional[str]</span>
+ <span class="name">content_length</span><span class="annotation">: int</span>
</div>
- <a class="headerlink" href="#Metadata.etag"></a>
+ <a class="headerlink" href="#Metadata.content_length"></a>
- <div class="docstring"><p>ETag of this entry.</p>
+ <div class="docstring"><p>Content length of this entry.</p>
</div>
@@ -1307,18 +1307,29 @@ The default value for whence is <code>SEEK_SET</code>. Values for <code>whence</
</div>
- <div id="Metadata.content_length" class="classattr">
+ <div id="Metadata.etag" class="classattr">
<div class="attr variable">
- <span class="name">content_length</span><span class="annotation">: int</span>
+ <span class="name">etag</span><span class="annotation">: Optional[str]</span>
</div>
- <a class="headerlink" href="#Metadata.content_length"></a>
+ <a class="headerlink" href="#Metadata.etag"></a>
- <div class="docstring"><p>Content length of this entry.</p>
+ <div class="docstring"><p>ETag of this entry.</p>
</div>
+ </div>
+ <div id="Metadata.content_disposition" class="classattr">
+ <div class="attr variable">
+ <span class="name">content_disposition</span><span class="annotation">: Optional[str]</span>
+
+
+ </div>
+ <a class="headerlink" href="#Metadata.content_disposition"></a>
+
+
+
</div>
<div id="Metadata.mode" class="classattr">
<div class="attr variable">
@@ -1345,17 +1356,6 @@ The default value for whence is <code>SEEK_SET</code>. Values for <code>whence</
</div>
- </div>
- <div id="Metadata.content_disposition" class="classattr">
- <div class="attr variable">
- <span class="name">content_disposition</span><span class="annotation">: Optional[str]</span>
-
-
- </div>
- <a class="headerlink" href="#Metadata.content_disposition"></a>
-
-
-
</div>
</section>
<section id="PresignedRequest">
@@ -1425,80 +1425,67 @@ by current Operator.</p>
</div>
- <div id="Capability.write" class="classattr">
- <div class="attr variable">
- <span class="name">write</span><span class="annotation">: bool</span>
-
-
- </div>
- <a class="headerlink" href="#Capability.write"></a>
-
- <div class="docstring"><p>If operator supports write.</p>
-</div>
-
-
- </div>
- <div id="Capability.write_can_append" class="classattr">
+ <div id="Capability.read_with_override_content_type" class="classattr">
<div class="attr variable">
- <span class="name">write_can_append</span><span class="annotation">: bool</span>
+ <span class="name">read_with_override_content_type</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.write_can_append"></a>
+ <a class="headerlink" href="#Capability.read_with_override_content_type"></a>
- <div class="docstring"><p>If operator supports write by append.</p>
+ <div class="docstring"><p>if operator supports read with override content type.</p>
</div>
</div>
- <div id="Capability.write_with_cache_control" class="classattr">
+ <div id="Capability.write_can_multi" class="classattr">
<div class="attr variable">
- <span class="name">write_with_cache_control</span><span class="annotation">: bool</span>
+ <span class="name">write_can_multi</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.write_with_cache_control"></a>
+ <a class="headerlink" href="#Capability.write_can_multi"></a>
- <div class="docstring"><p>If operator supports write with cache control.</p>
+ <div class="docstring"><p>If operator supports write can be called in multi times.</p>
</div>
</div>
- <div id="Capability.batch_delete" class="classattr">
+ <div id="Capability.rename" class="classattr">
<div class="attr variable">
- <span class="name">batch_delete</span><span class="annotation">: bool</span>
+ <span class="name">rename</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.batch_delete"></a>
+ <a class="headerlink" href="#Capability.rename"></a>
- <div class="docstring"><p>If operator supports batch delete.</p>
+ <div class="docstring"><p>If operator supports rename.</p>
</div>
</div>
- <div id="Capability.stat_with_if_none_match" class="classattr">
+ <div id="Capability.list_without_recursive" class="classattr">
<div class="attr variable">
- <span class="name">stat_with_if_none_match</span><span class="annotation">: bool</span>
+ <span class="name">list_without_recursive</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.stat_with_if_none_match"></a>
+ <a class="headerlink" href="#Capability.list_without_recursive"></a>
- <div class="docstring"><p>If operator supports stat with if none match.</p>
+ <div class="docstring"><p>If backend support list with using slash as delimiter.</p>
</div>
</div>
- <div id="Capability.read_with_override_cache_control" class="classattr">
+ <div id="Capability.read_with_range" class="classattr">
<div class="attr variable">
- <span class="name">read_with_override_cache_control</span><span class="annotation">: bool</span>
+ <span class="name">read_with_range</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.read_with_override_cache_control"></a>
+ <a class="headerlink" href="#Capability.read_with_range"></a>
- <div class="docstring"><p>if operator supports read with override cache control.</p>
+ <div class="docstring"><p>If operator supports read with range.</p>
</div>
@@ -1516,54 +1503,54 @@ by current Operator.</p>
</div>
- <div id="Capability.read_with_override_content_type" class="classattr">
+ <div id="Capability.read_with_if_none_match" class="classattr">
<div class="attr variable">
- <span class="name">read_with_override_content_type</span><span class="annotation">: bool</span>
+ <span class="name">read_with_if_none_match</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.read_with_override_content_type"></a>
+ <a class="headerlink" href="#Capability.read_with_if_none_match"></a>
- <div class="docstring"><p>if operator supports read with override content type.</p>
+ <div class="docstring"><p>If operator supports read with if none match.</p>
</div>
</div>
- <div id="Capability.write_can_multi" class="classattr">
+ <div id="Capability.list_with_limit" class="classattr">
<div class="attr variable">
- <span class="name">write_can_multi</span><span class="annotation">: bool</span>
+ <span class="name">list_with_limit</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.write_can_multi"></a>
+ <a class="headerlink" href="#Capability.list_with_limit"></a>
- <div class="docstring"><p>If operator supports write can be called in multi times.</p>
+ <div class="docstring"><p>If backend supports list with limit.</p>
</div>
</div>
- <div id="Capability.read_with_override_content_disposition" class="classattr">
+ <div id="Capability.read_with_if_match" class="classattr">
<div class="attr variable">
- <span class="name">read_with_override_content_disposition</span><span class="annotation">: bool</span>
+ <span class="name">read_with_if_match</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.read_with_override_content_disposition"></a>
+ <a class="headerlink" href="#Capability.read_with_if_match"></a>
- <div class="docstring"><p>if operator supports read with override content disposition.</p>
+ <div class="docstring"><p>If operator supports read with if match.</p>
</div>
</div>
- <div id="Capability.read_can_seek" class="classattr">
+ <div id="Capability.presign" class="classattr">
<div class="attr variable">
- <span class="name">read_can_seek</span><span class="annotation">: bool</span>
+ <span class="name">presign</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.read_can_seek"></a>
+ <a class="headerlink" href="#Capability.presign"></a>
- <div class="docstring"><p>If operator supports seek on returning reader.</p>
+ <div class="docstring"><p>If operator supports presign.</p>
</div>
@@ -1581,175 +1568,173 @@ by current Operator.</p>
</div>
- <div id="Capability.presign_stat" class="classattr">
+ <div id="Capability.write_total_max_size" class="classattr">
<div class="attr variable">
- <span class="name">presign_stat</span><span class="annotation">: bool</span>
+ <span class="name">write_total_max_size</span><span class="annotation">: Optional[int]</span>
</div>
- <a class="headerlink" href="#Capability.presign_stat"></a>
+ <a class="headerlink" href="#Capability.write_total_max_size"></a>
- <div class="docstring"><p>If operator supports presign stat.</p>
+ <div class="docstring"><p>write_total_max_size is the max size that services support in write_total.</p>
+
+<p>For example, Cloudflare D1 supports 1MB as max in write_total.</p>
</div>
</div>
- <div id="Capability.read_with_range" class="classattr">
+ <div id="Capability.list" class="classattr">
<div class="attr variable">
- <span class="name">read_with_range</span><span class="annotation">: bool</span>
+ <span class="name">list</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.read_with_range"></a>
+ <a class="headerlink" href="#Capability.list"></a>
- <div class="docstring"><p>If operator supports read with range.</p>
+ <div class="docstring"><p>If operator supports list.</p>
</div>
</div>
- <div id="Capability.write_multi_align_size" class="classattr">
+ <div id="Capability.presign_read" class="classattr">
<div class="attr variable">
- <span class="name">write_multi_align_size</span><span class="annotation">: Optional[int]</span>
+ <span class="name">presign_read</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.write_multi_align_size"></a>
+ <a class="headerlink" href="#Capability.presign_read"></a>
- <div class="docstring"><p>write_multi_align_size is the align size that services required in write_multi.</p>
-
-<p>For example, Google GCS requires align size to 256KiB in write_multi.</p>
+ <div class="docstring"><p>If operator supports presign read.</p>
</div>
</div>
- <div id="Capability.copy" class="classattr">
+ <div id="Capability.stat_with_if_none_match" class="classattr">
<div class="attr variable">
- <span class="name">copy</span><span class="annotation">: bool</span>
+ <span class="name">stat_with_if_none_match</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.copy"></a>
+ <a class="headerlink" href="#Capability.stat_with_if_none_match"></a>
- <div class="docstring"><p>If operator supports copy.</p>
+ <div class="docstring"><p>If operator supports stat with if none match.</p>
</div>
</div>
- <div id="Capability.delete" class="classattr">
+ <div id="Capability.copy" class="classattr">
<div class="attr variable">
- <span class="name">delete</span><span class="annotation">: bool</span>
+ <span class="name">copy</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.delete"></a>
+ <a class="headerlink" href="#Capability.copy"></a>
- <div class="docstring"><p>If operator supports delete.</p>
+ <div class="docstring"><p>If operator supports copy.</p>
</div>
</div>
- <div id="Capability.list_with_start_after" class="classattr">
+ <div id="Capability.write_can_append" class="classattr">
<div class="attr variable">
- <span class="name">list_with_start_after</span><span class="annotation">: bool</span>
+ <span class="name">write_can_append</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.list_with_start_after"></a>
+ <a class="headerlink" href="#Capability.write_can_append"></a>
- <div class="docstring"><p>If backend supports list with start after.</p>
+ <div class="docstring"><p>If operator supports write by append.</p>
</div>
</div>
- <div id="Capability.presign" class="classattr">
+ <div id="Capability.stat" class="classattr">
<div class="attr variable">
- <span class="name">presign</span><span class="annotation">: bool</span>
+ <span class="name">stat</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.presign"></a>
+ <a class="headerlink" href="#Capability.stat"></a>
- <div class="docstring"><p>If operator supports presign.</p>
+ <div class="docstring"><p>If operator supports stat.</p>
</div>
</div>
- <div id="Capability.list" class="classattr">
+ <div id="Capability.read_with_override_content_disposition" class="classattr">
<div class="attr variable">
- <span class="name">list</span><span class="annotation">: bool</span>
+ <span class="name">read_with_override_content_disposition</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.list"></a>
+ <a class="headerlink" href="#Capability.read_with_override_content_disposition"></a>
- <div class="docstring"><p>If operator supports list.</p>
+ <div class="docstring"><p>if operator supports read with override content disposition.</p>
</div>
</div>
- <div id="Capability.blocking" class="classattr">
+ <div id="Capability.write_with_cache_control" class="classattr">
<div class="attr variable">
- <span class="name">blocking</span><span class="annotation">: bool</span>
+ <span class="name">write_with_cache_control</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.blocking"></a>
+ <a class="headerlink" href="#Capability.write_with_cache_control"></a>
- <div class="docstring"><p>If operator supports blocking.</p>
+ <div class="docstring"><p>If operator supports write with cache control.</p>
</div>
</div>
- <div id="Capability.create_dir" class="classattr">
+ <div id="Capability.read_with_override_cache_control" class="classattr">
<div class="attr variable">
- <span class="name">create_dir</span><span class="annotation">: bool</span>
+ <span class="name">read_with_override_cache_control</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.create_dir"></a>
+ <a class="headerlink" href="#Capability.read_with_override_cache_control"></a>
- <div class="docstring"><p>If operator supports create dir.</p>
+ <div class="docstring"><p>if operator supports read with override cache control.</p>
</div>
</div>
- <div id="Capability.rename" class="classattr">
+ <div id="Capability.create_dir" class="classattr">
<div class="attr variable">
- <span class="name">rename</span><span class="annotation">: bool</span>
+ <span class="name">create_dir</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.rename"></a>
+ <a class="headerlink" href="#Capability.create_dir"></a>
- <div class="docstring"><p>If operator supports rename.</p>
+ <div class="docstring"><p>If operator supports create dir.</p>
</div>
</div>
- <div id="Capability.write_total_max_size" class="classattr">
+ <div id="Capability.delete" class="classattr">
<div class="attr variable">
- <span class="name">write_total_max_size</span><span class="annotation">: Optional[int]</span>
+ <span class="name">delete</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.write_total_max_size"></a>
+ <a class="headerlink" href="#Capability.delete"></a>
- <div class="docstring"><p>write_total_max_size is the max size that services support in write_total.</p>
-
-<p>For example, Cloudflare D1 supports 1MB as max in write_total.</p>
+ <div class="docstring"><p>If operator supports delete.</p>
</div>
</div>
- <div id="Capability.list_with_limit" class="classattr">
+ <div id="Capability.presign_stat" class="classattr">
<div class="attr variable">
- <span class="name">list_with_limit</span><span class="annotation">: bool</span>
+ <span class="name">presign_stat</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.list_with_limit"></a>
+ <a class="headerlink" href="#Capability.presign_stat"></a>
- <div class="docstring"><p>If backend supports list with limit.</p>
+ <div class="docstring"><p>If operator supports presign stat.</p>
</div>
@@ -1780,56 +1765,69 @@ by current Operator.</p>
</div>
- <div id="Capability.write_can_empty" class="classattr">
+ <div id="Capability.batch_max_operations" class="classattr">
<div class="attr variable">
- <span class="name">write_can_empty</span><span class="annotation">: bool</span>
+ <span class="name">batch_max_operations</span><span class="annotation">: Optional[int]</span>
</div>
- <a class="headerlink" href="#Capability.write_can_empty"></a>
+ <a class="headerlink" href="#Capability.batch_max_operations"></a>
- <div class="docstring"><p>If operator supports write with empty content.</p>
+ <div class="docstring"><p>The max operations that operator supports in batch.</p>
</div>
</div>
- <div id="Capability.write_multi_min_size" class="classattr">
+ <div id="Capability.blocking" class="classattr">
<div class="attr variable">
- <span class="name">write_multi_min_size</span><span class="annotation">: Optional[int]</span>
+ <span class="name">blocking</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.write_multi_min_size"></a>
+ <a class="headerlink" href="#Capability.blocking"></a>
- <div class="docstring"><p>write_multi_min_size is the min size that services support in write_multi.</p>
+ <div class="docstring"><p>If operator supports blocking.</p>
+</div>
-<p>For example, AWS S3 requires at least 5MiB in write_multi expect the last one.</p>
+
+ </div>
+ <div id="Capability.write" class="classattr">
+ <div class="attr variable">
+ <span class="name">write</span><span class="annotation">: bool</span>
+
+
+ </div>
+ <a class="headerlink" href="#Capability.write"></a>
+
+ <div class="docstring"><p>If operator supports write.</p>
</div>
</div>
- <div id="Capability.batch_max_operations" class="classattr">
+ <div id="Capability.write_multi_min_size" class="classattr">
<div class="attr variable">
- <span class="name">batch_max_operations</span><span class="annotation">: Optional[int]</span>
+ <span class="name">write_multi_min_size</span><span class="annotation">: Optional[int]</span>
</div>
- <a class="headerlink" href="#Capability.batch_max_operations"></a>
+ <a class="headerlink" href="#Capability.write_multi_min_size"></a>
- <div class="docstring"><p>The max operations that operator supports in batch.</p>
+ <div class="docstring"><p>write_multi_min_size is the min size that services support in write_multi.</p>
+
+<p>For example, AWS S3 requires at least 5MiB in write_multi expect the last one.</p>
</div>
</div>
- <div id="Capability.read_can_next" class="classattr">
+ <div id="Capability.read_can_seek" class="classattr">
<div class="attr variable">
- <span class="name">read_can_next</span><span class="annotation">: bool</span>
+ <span class="name">read_can_seek</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.read_can_next"></a>
+ <a class="headerlink" href="#Capability.read_can_seek"></a>
- <div class="docstring"><p>If operator supports next on returning reader.</p>
+ <div class="docstring"><p>If operator supports seek on returning reader.</p>
</div>
@@ -1847,108 +1845,110 @@ by current Operator.</p>
</div>
- <div id="Capability.stat" class="classattr">
+ <div id="Capability.batch_delete" class="classattr">
<div class="attr variable">
- <span class="name">stat</span><span class="annotation">: bool</span>
+ <span class="name">batch_delete</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.stat"></a>
+ <a class="headerlink" href="#Capability.batch_delete"></a>
- <div class="docstring"><p>If operator supports stat.</p>
+ <div class="docstring"><p>If operator supports batch delete.</p>
</div>
</div>
- <div id="Capability.stat_with_if_match" class="classattr">
+ <div id="Capability.read_can_next" class="classattr">
<div class="attr variable">
- <span class="name">stat_with_if_match</span><span class="annotation">: bool</span>
+ <span class="name">read_can_next</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.stat_with_if_match"></a>
+ <a class="headerlink" href="#Capability.read_can_next"></a>
- <div class="docstring"><p>If operator supports stat with if match.</p>
+ <div class="docstring"><p>If operator supports next on returning reader.</p>
</div>
</div>
- <div id="Capability.write_with_content_disposition" class="classattr">
+ <div id="Capability.write_multi_max_size" class="classattr">
<div class="attr variable">
- <span class="name">write_with_content_disposition</span><span class="annotation">: bool</span>
+ <span class="name">write_multi_max_size</span><span class="annotation">: Optional[int]</span>
</div>
- <a class="headerlink" href="#Capability.write_with_content_disposition"></a>
+ <a class="headerlink" href="#Capability.write_multi_max_size"></a>
- <div class="docstring"><p>If operator supports write with content disposition.</p>
+ <div class="docstring"><p>write_multi_max_size is the max size that services support in write_multi.</p>
+
+<p>For example, AWS S3 supports 5GiB as max in write_multi.</p>
</div>
</div>
- <div id="Capability.list_without_recursive" class="classattr">
+ <div id="Capability.list_with_start_after" class="classattr">
<div class="attr variable">
- <span class="name">list_without_recursive</span><span class="annotation">: bool</span>
+ <span class="name">list_with_start_after</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.list_without_recursive"></a>
+ <a class="headerlink" href="#Capability.list_with_start_after"></a>
- <div class="docstring"><p>If backend support list with using slash as delimiter.</p>
+ <div class="docstring"><p>If backend supports list with start after.</p>
</div>
</div>
- <div id="Capability.write_multi_max_size" class="classattr">
+ <div id="Capability.stat_with_if_match" class="classattr">
<div class="attr variable">
- <span class="name">write_multi_max_size</span><span class="annotation">: Optional[int]</span>
+ <span class="name">stat_with_if_match</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.write_multi_max_size"></a>
+ <a class="headerlink" href="#Capability.stat_with_if_match"></a>
- <div class="docstring"><p>write_multi_max_size is the max size that services support in write_multi.</p>
-
-<p>For example, AWS S3 supports 5GiB as max in write_multi.</p>
+ <div class="docstring"><p>If operator supports stat with if match.</p>
</div>
</div>
- <div id="Capability.read_with_if_none_match" class="classattr">
+ <div id="Capability.write_with_content_disposition" class="classattr">
<div class="attr variable">
- <span class="name">read_with_if_none_match</span><span class="annotation">: bool</span>
+ <span class="name">write_with_content_disposition</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.read_with_if_none_match"></a>
+ <a class="headerlink" href="#Capability.write_with_content_disposition"></a>
- <div class="docstring"><p>If operator supports read with if none match.</p>
+ <div class="docstring"><p>If operator supports write with content disposition.</p>
</div>
</div>
- <div id="Capability.read_with_if_match" class="classattr">
+ <div id="Capability.write_multi_align_size" class="classattr">
<div class="attr variable">
- <span class="name">read_with_if_match</span><span class="annotation">: bool</span>
+ <span class="name">write_multi_align_size</span><span class="annotation">: Optional[int]</span>
</div>
- <a class="headerlink" href="#Capability.read_with_if_match"></a>
+ <a class="headerlink" href="#Capability.write_multi_align_size"></a>
- <div class="docstring"><p>If operator supports read with if match.</p>
+ <div class="docstring"><p>write_multi_align_size is the align size that services required in write_multi.</p>
+
+<p>For example, Google GCS requires align size to 256KiB in write_multi.</p>
</div>
</div>
- <div id="Capability.presign_read" class="classattr">
+ <div id="Capability.write_can_empty" class="classattr">
<div class="attr variable">
- <span class="name">presign_read</span><span class="annotation">: bool</span>
+ <span class="name">write_can_empty</span><span class="annotation">: bool</span>
</div>
- <a class="headerlink" href="#Capability.presign_read"></a>
+ <a class="headerlink" href="#Capability.write_can_empty"></a>
- <div class="docstring"><p>If operator supports presign read.</p>
+ <div class="docstring"><p>If operator supports write with empty content.</p>
</div>
diff --git a/docs/python/search.js b/docs/python/search.js
index 6b5b1ccad..bacaf1db6 100644
--- a/docs/python/search.js
+++ b/docs/python/search.js
@@ -1,6 +1,6 @@
window.pdocSearch = (function(){
/** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.wa [...]
- /** pdoc search index */const docs = {"version": "0.9.5", "fields": ["qualname", "fullname", "annotation", "default_value", "signature", "bases", "doc"], "ref": "fullname", "documentStore": {"docs": {"opendal": {"fullname": "opendal", "modulename": "opendal", "kind": "module", "doc": "<p>OpenDAL Python binding</p>\n\n<h2 id=\"installation\">Installation</h2>\n\n<div class=\"pdoc-code codehilite\">\n<pre><span></span><code>pip<span class=\"w\"> </span>install<span class=\"w\"> </span> [...]
+ /** pdoc search index */const docs = {"version": "0.9.5", "fields": ["qualname", "fullname", "annotation", "default_value", "signature", "bases", "doc"], "ref": "fullname", "documentStore": {"docs": {"opendal": {"fullname": "opendal", "modulename": "opendal", "kind": "module", "doc": "<p>OpenDAL Python binding</p>\n\n<h2 id=\"installation\">Installation</h2>\n\n<div class=\"pdoc-code codehilite\">\n<pre><span></span><code>pip<span class=\"w\"> </span>install<span class=\"w\"> </span> [...]
// mirrored in build-search-index.js (part 1)
// Also split on html tags. this is a cheap heuristic, but good enough.
diff --git a/docs/quickstart/index.html b/docs/quickstart/index.html
index de6de14d6..24aa3adb3 100644
--- a/docs/quickstart/index.html
+++ b/docs/quickstart/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Quickstart | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/quickstart"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/rust/implementors/core/clone/trait.Clone.js b/docs/rust/implementors/core/clone/trait.Clone.js
index 379e6b164..b855a22de 100644
--- a/docs/rust/implementors/core/clone/trait.Clone.js
+++ b/docs/rust/implementors/core/clone/trait.Clone.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"opendal/raw/struct.HttpClient.html\" title=\"struct opendal::raw::HttpClient\">HttpClient</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"opendal/services/struct.RedisConfig.html\ [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"opendal/raw/struct.OpStat.html\" title=\"struct opendal::raw::OpStat\">OpStat</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"opendal/services/struct.Swift.html\" title=\"struct o [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/core/cmp/trait.Eq.js b/docs/rust/implementors/core/cmp/trait.Eq.js
index ca9def1f0..1ff4ad446 100644
--- a/docs/rust/implementors/core/cmp/trait.Eq.js
+++ b/docs/rust/implementors/core/cmp/trait.Eq.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"opendal/enum.EntryMode.html\" title=\"enum opendal::EntryMode\">EntryMode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"opendal/raw/oio/enum.ReadOperation.html\" title=\"enum opendal::raw::oio::ReadOperation [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"opendal/enum.Metakey.html\" title=\"enum opendal::Metakey\">Metakey</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"opendal/struct.Metadata.html\" title=\"struct opendal::Metadata\">Metadata</a>"],["impl <a [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/core/cmp/trait.PartialEq.js b/docs/rust/implementors/core/cmp/trait.PartialEq.js
index 35a5aef80..a01840c0a 100644
--- a/docs/rust/implementors/core/cmp/trait.PartialEq.js
+++ b/docs/rust/implementors/core/cmp/trait.PartialEq.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a><<a class=\"enum\" href=\"opendal/raw/tests/enum.ReadAction.html\" title=\"enum opendal::raw::tests::ReadAction\">ReadAction</a>> for <a class=\"enum\" href=\"opendal/raw/tests/enum.ReadAction.html\" title=\"enum opendal::raw::tests::ReadAction\">ReadAction</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74 [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a><<a class=\"struct\" href=\"opendal/raw/oio/struct.Entry.html\" title=\"struct opendal::raw::oio::Entry\">Entry</a>> for <a class=\"struct\" href=\"opendal/raw/oio/struct.Entry.html\" title=\"struct opendal::raw::oio::Entry\">Entry</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialE [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/core/convert/trait.From.js b/docs/rust/implementors/core/convert/trait.From.js
index a50fcdc16..f8a6ed464 100644
--- a/docs/rust/implementors/core/convert/trait.From.js
+++ b/docs/rust/implementors/core/convert/trait.From.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"opendal/enum.ErrorKind.html\" title=\"enum opendal::ErrorKind\">ErrorKind</a>> for &'static <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.str.html\">str</a>"],["impl<T> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html\" title=\" [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"opendal/raw/struct.OpStat.html\" title=\"struct opendal::raw::OpStat\">OpStat</a>> for <a class=\"enum\" href=\"opendal/raw/enum.PresignOperation.html\" title=\"enum opendal::raw::PresignOperation\">PresignOperation</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/core/default/trait.Default.js b/docs/rust/implementors/core/default/trait.Default.js
index da9cef384..bcde93d7e 100644
--- a/docs/rust/implementors/core/default/trait.Default.js
+++ b/docs/rust/implementors/core/default/trait.Default.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"opendal/layers/struct.LoggingLayer.html\" title=\"struct opendal::layers::LoggingLayer\">LoggingLayer</a>"],["impl<T: <a class=\"trait\" href=\"opendal/raw/trait.Part.html\" title=\"trait opendal::raw::Part\">Part</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/default/tr [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"opendal/raw/struct.OpRead.html\" title=\"struct opendal::raw::OpRead\">OpRead</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"opendal/services/struct.Moka.html [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/core/fmt/trait.Debug.js b/docs/rust/implementors/core/fmt/trait.Debug.js
index db40587eb..eeb007b41 100644
--- a/docs/rust/implementors/core/fmt/trait.Debug.js
+++ b/docs/rust/implementors/core/fmt/trait.Debug.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"opendal/services/struct.Azblob.html\" title=\"struct opendal::services::Azblob\">AzblobBuilder</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"opendal/raw/struct.RpRead.html\" title=\"str [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"opendal/services/struct.Supabase.html\" title=\"struct opendal::services::Supabase\">SupabaseBuilder</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"opendal/services/struct.FtpConfig.html [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/core/fmt/trait.Display.js b/docs/rust/implementors/core/fmt/trait.Display.js
index 47937cc72..1f9bcd729 100644
--- a/docs/rust/implementors/core/fmt/trait.Display.js
+++ b/docs/rust/implementors/core/fmt/trait.Display.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"opendal/raw/enum.Operation.html\" title=\"enum opendal::raw::Operation\">Operation</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"opendal/raw/struct.BytesRange.html\" title=\"s [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"opendal/raw/oio/enum.ListOperation.html\" title=\"enum opendal::raw::oio::ListOperation\">ListOperation</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"struct\" href=\"opendal/raw/struct.BytesR [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/core/future/future/trait.Future.js b/docs/rust/implementors/core/future/future/trait.Future.js
index 64c923c3b..4dfa9ac75 100644
--- a/docs/rust/implementors/core/future/future/trait.Future.js
+++ b/docs/rust/implementors/core/future/future/trait.Future.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"opendal/operator_futures/struct.FutureDelete.html\" title=\"struct opendal::operator_futures::FutureDelete\">FutureDelete</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"opendal/operator_futures/struct.FutureWriter.html\" title=\"struct opendal::operator_futures::FutureWriter\">FutureWriter</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/core/hash/trait.Hash.js b/docs/rust/implementors/core/hash/trait.Hash.js
index 192423c1e..1608e9565 100644
--- a/docs/rust/implementors/core/hash/trait.Hash.js
+++ b/docs/rust/implementors/core/hash/trait.Hash.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"opendal/raw/oio/enum.ReadOperation.html\" title=\"enum opendal::raw::oio::ReadOperation\">ReadOperation</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"opendal/raw/enum.Operation.html\" title=\ [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"opendal/raw/oio/enum.ListOperation.html\" title=\"enum opendal::raw::oio::ListOperation\">ListOperation</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"opendal/raw/oio/enum.WriteOperation.html\ [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/core/iter/traits/iterator/trait.Iterator.js b/docs/rust/implementors/core/iter/traits/iterator/trait.Iterator.js
index 6f6cb4cd8..2ec9fcf3d 100644
--- a/docs/rust/implementors/core/iter/traits/iterator/trait.Iterator.js
+++ b/docs/rust/implementors/core/iter/traits/iterator/trait.Iterator.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"opendal/struct.BlockingLister.html\" title=\"struct opendal::BlockingLister\">BlockingLister</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\"> [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"opendal/struct.BlockingReader.html\" title=\"struct opendal::BlockingReader\">BlockingReader</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\"> [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/core/marker/trait.Copy.js b/docs/rust/implementors/core/marker/trait.Copy.js
index cbddc84cd..617afbc35 100644
--- a/docs/rust/implementors/core/marker/trait.Copy.js
+++ b/docs/rust/implementors/core/marker/trait.Copy.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"opendal/raw/struct.BytesContentRange.html\" title=\"struct opendal::raw::BytesContentRange\">BytesContentRange</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"opendal/raw/struct.Byt [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"opendal/raw/struct.BytesContentRange.html\" title=\"struct opendal::raw::BytesContentRange\">BytesContentRange</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"opendal/layers/struct. [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/core/marker/trait.StructuralEq.js b/docs/rust/implementors/core/marker/trait.StructuralEq.js
index 6715f8723..ca1666855 100644
--- a/docs/rust/implementors/core/marker/trait.StructuralEq.js
+++ b/docs/rust/implementors/core/marker/trait.StructuralEq.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"opendal/raw/tests/enum.WriteAction.html\" title=\"enum opendal::raw::tests::WriteAction\">WriteAction</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"e [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"opendal/raw/tests/enum.ReadAction.html\" title=\"enum opendal::raw::tests::ReadAction\">ReadAction</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/core/marker/trait.StructuralPartialEq.js b/docs/rust/implementors/core/marker/trait.StructuralPartialEq.js
index 85ac8b41a..0f6079a6c 100644
--- a/docs/rust/implementors/core/marker/trait.StructuralPartialEq.js
+++ b/docs/rust/implementors/core/marker/trait.StructuralPartialEq.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"opendal/raw/struct.BytesRange.html\" title=\"struct opendal::raw::BytesRange\">BytesRange</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">Structur [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"opendal/enum.ErrorKind.html\" title=\"enum opendal::ErrorKind\">ErrorKind</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> fo [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/core/marker/trait.Sync.js b/docs/rust/implementors/core/marker/trait.Sync.js
index da953dd7c..56d30e2a0 100644
--- a/docs/rust/implementors/core/marker/trait.Sync.js
+++ b/docs/rust/implementors/core/marker/trait.Sync.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"opendal/enum.EntryMode.html\" title=\"enum opendal::EntryMode\">EntryMode</a>",1,["opendal::types::mode::EntryMode"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"opendal/struct.Entry.ht [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"opendal/enum.EntryMode.html\" title=\"enum opendal::EntryMode\">EntryMode</a>",1,["opendal::types::mode::EntryMode"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"opendal/struct.Entry.ht [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/futures_core/stream/trait.Stream.js b/docs/rust/implementors/futures_core/stream/trait.Stream.js
index e10738987..e3ee425f5 100644
--- a/docs/rust/implementors/futures_core/stream/trait.Stream.js
+++ b/docs/rust/implementors/futures_core/stream/trait.Stream.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl Stream for <a class=\"struct\" href=\"opendal/struct.Reader.html\" title=\"struct opendal::Reader\">Reader</a>"],["impl Stream for dyn <a class=\"trait\" href=\"opendal/raw/oio/trait.Read.html\" title=\"trait opendal::raw::oio::Read\">Read</a>"],["impl Stream for <a class=\"struct\" href=\"opendal/struct.Lister.html\" title=\"struct opendal::Lister\">Lister</a>"],["impl Stream for <a class=\"struct\" href=\"opendal/raw/oio/struct.ChunkedBytes.html\" title=\"struct opend [...]
+"opendal":[["impl Stream for <a class=\"struct\" href=\"opendal/struct.Lister.html\" title=\"struct opendal::Lister\">Lister</a>"],["impl Stream for <a class=\"struct\" href=\"opendal/raw/oio/struct.ChunkedBytes.html\" title=\"struct opendal::raw::oio::ChunkedBytes\">ChunkedBytes</a>"],["impl Stream for <a class=\"struct\" href=\"opendal/struct.Reader.html\" title=\"struct opendal::Reader\">Reader</a>"],["impl Stream for dyn <a class=\"trait\" href=\"opendal/raw/oio/trait.Read.html\" tit [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/futures_io/if_std/trait.AsyncSeek.js b/docs/rust/implementors/futures_io/if_std/trait.AsyncSeek.js
index dd027188f..1bb92a831 100644
--- a/docs/rust/implementors/futures_io/if_std/trait.AsyncSeek.js
+++ b/docs/rust/implementors/futures_io/if_std/trait.AsyncSeek.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl AsyncSeek for dyn <a class=\"trait\" href=\"opendal/raw/oio/trait.Read.html\" title=\"trait opendal::raw::oio::Read\">Read</a>"],["impl AsyncSeek for <a class=\"struct\" href=\"opendal/struct.Reader.html\" title=\"struct opendal::Reader\">Reader</a>"]]
+"opendal":[["impl AsyncSeek for <a class=\"struct\" href=\"opendal/struct.Reader.html\" title=\"struct opendal::Reader\">Reader</a>"],["impl AsyncSeek for dyn <a class=\"trait\" href=\"opendal/raw/oio/trait.Read.html\" title=\"trait opendal::raw::oio::Read\">Read</a>"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/serde/de/trait.Deserialize.js b/docs/rust/implementors/serde/de/trait.Deserialize.js
index 8e4001d54..f824eb7ce 100644
--- a/docs/rust/implementors/serde/de/trait.Deserialize.js
+++ b/docs/rust/implementors/serde/de/trait.Deserialize.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.189/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"opendal/services/struct.SqliteConfig.html\" title=\"struct opendal::services::SqliteConfig\">SqliteConfig</a><span class=\"where fmt-newline\">where\n <a class=\"struct\" href=\"opendal/services/struct.SqliteConfig.html\" title=\"struct opendal::services::SqliteConfig\">Sq [...]
+"opendal":[["impl<'de> <a class=\"trait\" href=\"https://docs.rs/serde/1.0.189/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a><'de> for <a class=\"struct\" href=\"opendal/services/struct.LibsqlConfig.html\" title=\"struct opendal::services::LibsqlConfig\">LibsqlConfig</a><span class=\"where fmt-newline\">where\n <a class=\"struct\" href=\"opendal/services/struct.LibsqlConfig.html\" title=\"struct opendal::services::LibsqlConfig\">Li [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/std/io/trait.Read.js b/docs/rust/implementors/std/io/trait.Read.js
index 18a37288e..75587a9eb 100644
--- a/docs/rust/implementors/std/io/trait.Read.js
+++ b/docs/rust/implementors/std/io/trait.Read.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for <a class=\"struct\" href=\"opendal/struct.BlockingReader.html\" title=\"struct opendal::BlockingReader\">BlockingReader</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for dyn <a class=\"trait\" href=\"opendal/raw/oio/trait.BlockingRead.html\" title=\"trait o [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for dyn <a class=\"trait\" href=\"opendal/raw/oio/trait.BlockingRead.html\" title=\"trait opendal::raw::oio::BlockingRead\">BlockingRead</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for <a class=\"struct\" href=\"opendal/struct.BlockingReader.html\" title=\"st [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/implementors/std/io/trait.Seek.js b/docs/rust/implementors/std/io/trait.Seek.js
index c0b00ce17..6c53f7e45 100644
--- a/docs/rust/implementors/std/io/trait.Seek.js
+++ b/docs/rust/implementors/std/io/trait.Seek.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/std/io/trait.Seek.html\" title=\"trait std::io::Seek\">Seek</a> for <a class=\"struct\" href=\"opendal/struct.BlockingReader.html\" title=\"struct opendal::BlockingReader\">BlockingReader</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/std/io/trait.Seek.html\" title=\"trait std::io::Seek\">Seek</a> for dyn <a class=\"trait\" href=\"opendal/raw/oio/trait.BlockingRead.html\" title=\"trait o [...]
+"opendal":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/std/io/trait.Seek.html\" title=\"trait std::io::Seek\">Seek</a> for dyn <a class=\"trait\" href=\"opendal/raw/oio/trait.BlockingRead.html\" title=\"trait opendal::raw::oio::BlockingRead\">BlockingRead</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/std/io/trait.Seek.html\" title=\"trait std::io::Seek\">Seek</a> for <a class=\"struct\" href=\"opendal/struct.BlockingReader.html\" title=\"st [...]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/rust/opendal/enum.EntryMode.html b/docs/rust/opendal/enum.EntryMode.html
index 0d528855f..04a58b746 100644
--- a/docs/rust/opendal/enum.EntryMode.html
+++ b/docs/rust/opendal/enum.EntryMode.html
@@ -8,7 +8,7 @@
</div><section id="variant.Unknown" class="variant"><a href="#variant.Unknown" class="anchor">§</a><h3 class="code-header">Unknown</h3></section><div class="docblock"><p>Unknown means we don’t know what we can do on this path.</p>
</div></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-EntryMode" class="impl"><a class="src rightside" href="../src/opendal/types/mode.rs.html#32-41">source</a><a href="#impl-EntryMode" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.EntryMode.html" title="enum opendal::EntryMo [...]
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_dir" class="method"><a class="src rightside" href="../src/opendal/types/mode.rs.html#38-40">source</a><h4 class="code-header">pub fn <a href="#method.is_dir" class="fn">is_dir</a>(self) -> <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Check if this mode is DIR.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-EntryMode" class="impl"><a class="src rightside" href="../src/opendal/types/mode.rs.html#22">source</a><a href="#impl-Clone-for-EntryMode" class="anchor">§</a><h3 class="code-header">impl <a c [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-EntryMode" class="impl"><a class="src rightside" href="../src/opendal/types/mode.rs.html#22">source</a><a href="#impl-Clone-for-EntryMode" class="anchor">§</a><h3 class="code-header">impl <a c [...]
by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#231">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html#method.ne" class="f [...]
sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-EntryMode" class="impl"><a class="src rightside" href="../src/opendal/types/mode.rs.html#22">source</a><a href="#impl-Copy-for-EntryMode" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.EntryMode.html" title= [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
diff --git a/docs/rust/opendal/enum.Metakey.html b/docs/rust/opendal/enum.Metakey.html
index 4d0af86e6..0bea7cdc6 100644
--- a/docs/rust/opendal/enum.Metakey.html
+++ b/docs/rust/opendal/enum.Metakey.html
@@ -31,9 +31,9 @@ already contains all metadata.</p>
</div><section id="variant.Etag" class="variant"><a href="#variant.Etag" class="anchor">§</a><h3 class="code-header">Etag</h3></section><div class="docblock"><p>Key for etag.</p>
</div><section id="variant.LastModified" class="variant"><a href="#variant.LastModified" class="anchor">§</a><h3 class="code-header">LastModified</h3></section><div class="docblock"><p>Key for last last modified.</p>
</div><section id="variant.Version" class="variant"><a href="#variant.Version" class="anchor">§</a><h3 class="code-header">Version</h3></section><div class="docblock"><p>Key for version.</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BitAnd%3CR%3E-for-Metakey" class="impl"><a class="src rightside" href="../src/opendal/types/metadata.rs.html#515-555">source</a><a href="#impl-BitAnd%3CR%3E-for-Metakey" class="anchor">§</a><h3 class="code-header">impl<R: <a [...]
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BitAnd%3CR%3E-for-Metakey" class="impl"><a class="src rightside" href="../src/opendal/types/metadata.rs.html#515-555">source</a><a href="#impl-BitAnd%3CR%3E-for-Metakey" class="anchor">§</a><h3 class="code-header">impl<R: <a [...]
by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#231">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html#method.ne" class="f [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Rem%3CR%3E-for-Metakey" class="impl"><a class="src rightside" href="../src/opendal/types/metadata.rs.html#515-555">source</a><a href="#impl-Rem%3CR%3E-for-Metakey" class="anchor">§</a><h3 class="code-header">impl<R: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Rem%3CR%3E-for-Metakey" class="impl"><a class="src rightside" href="../src/opendal/types/metadata.rs.html#515-555">source</a><a href="#impl-Rem%3CR%3E-for-Metakey" class="anchor">§</a><h3 class="code-header">impl<R: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:// [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
diff --git a/docs/rust/opendal/enum.Scheme.html b/docs/rust/opendal/enum.Scheme.html
index 10601484c..7986d7d48 100644
--- a/docs/rust/opendal/enum.Scheme.html
+++ b/docs/rust/opendal/enum.Scheme.html
@@ -122,7 +122,7 @@ This function returns all enabled schemes so users can make decisions based on i
<span class="kw">if </span>!enabled_schemes.contains(<span class="kw-2">&</span>Scheme::Memory) {
<span class="macro">panic!</span>(<span class="string">"s3 support is not enabled"</span>)
}</code></pre></div>
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Scheme" class="impl"><a class="src rightside" href="../src/opendal/types/scheme.rs.html#32">source</a><a href="#impl-Clone-for-Scheme" class="anchor">§</a><h3 class="code-header">impl <a class [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Scheme" class="impl"><a class="src rightside" href="../src/opendal/types/scheme.rs.html#32">source</a><a href="#impl-Clone-for-Scheme" class="anchor">§</a><h3 class="code-header">impl <a class [...]
H: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.74.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.74.0/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></det [...]
by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#231">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html#method.ne" class="f [...]
diff --git a/docs/rust/opendal/raw/enum.Operation.html b/docs/rust/opendal/raw/enum.Operation.html
index 61a59ecef..fa85cf850 100644
--- a/docs/rust/opendal/raw/enum.Operation.html
+++ b/docs/rust/opendal/raw/enum.Operation.html
@@ -39,7 +39,7 @@
</div><section id="variant.BlockingDelete" class="variant"><a href="#variant.BlockingDelete" class="anchor">§</a><h3 class="code-header">BlockingDelete</h3></section><div class="docblock"><p>Operation for <a href="trait.Accessor.html#method.blocking_delete" title="method opendal::raw::Accessor::blocking_delete"><code>crate::raw::Accessor::blocking_delete</code></a></p>
</div><section id="variant.BlockingList" class="variant"><a href="#variant.BlockingList" class="anchor">§</a><h3 class="code-header">BlockingList</h3></section><div class="docblock"><p>Operation for <a href="trait.Accessor.html#method.blocking_list" title="method opendal::raw::Accessor::blocking_list"><code>crate::raw::Accessor::blocking_list</code></a></p>
</div></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Operation" class="impl"><a class="src rightside" href="../../src/opendal/raw/operation.rs.html#66-71">source</a><a href="#impl-Operation" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.Operation.html" title="enum opendal::r [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Operation" class="impl"><a class="src rightside" href="../../src/opendal/raw/operation.rs.html#22">source</a><a href="#impl-Clone-for-Operation" class="anchor">§</a><h3 class="code-header">imp [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Operation" class="impl"><a class="src rightside" href="../../src/opendal/raw/operation.rs.html#22">source</a><a href="#impl-Clone-for-Operation" class="anchor">§</a><h3 class="code-header">imp [...]
H: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.74.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.74.0/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></det [...]
by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#231">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html#method.ne" class="f [...]
diff --git a/docs/rust/opendal/raw/enum.PresignOperation.html b/docs/rust/opendal/raw/enum.PresignOperation.html
index 424a7cae6..caa09eb48 100644
--- a/docs/rust/opendal/raw/enum.PresignOperation.html
+++ b/docs/rust/opendal/raw/enum.PresignOperation.html
@@ -6,7 +6,7 @@
</div></details><h2 id="variants" class="variants small-section-header">Variants (Non-exhaustive)<a href="#variants" class="anchor">§</a></h2><details class="toggle non-exhaustive"><summary class="hideme"><span>This enum is marked as non-exhaustive</span></summary><div class="docblock">Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variant [...]
</div><section id="variant.Read" class="variant"><a href="#variant.Read" class="anchor">§</a><h3 class="code-header">Read(<a class="struct" href="struct.OpRead.html" title="struct opendal::raw::OpRead">OpRead</a>)</h3></section><div class="docblock"><p>Presign a read operation.</p>
</div><section id="variant.Write" class="variant"><a href="#variant.Write" class="anchor">§</a><h3 class="code-header">Write(<a class="struct" href="struct.OpWrite.html" title="struct opendal::raw::OpWrite">OpWrite</a>)</h3></section><div class="docblock"><p>Presign a write operation.</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-PresignOperation" class="impl"><a class="src rightside" href="../../src/opendal/raw/ops.rs.html#198">source</a><a href="#impl-Clone-for-PresignOperation" class="anchor">§</a><h3 class="code-header">impl <a class="trait [...]
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-PresignOperation" class="impl"><a class="src rightside" href="../../src/opendal/raw/ops.rs.html#198">source</a><a href="#impl-Clone-for-PresignOperation" class="anchor">§</a><h3 class="code-header">impl <a class="trait [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:// [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
diff --git a/docs/rust/opendal/raw/oio/enum.ReadOperation.html b/docs/rust/opendal/raw/oio/enum.ReadOperation.html
index e52b19fa5..fcfc319e8 100644
--- a/docs/rust/opendal/raw/oio/enum.ReadOperation.html
+++ b/docs/rust/opendal/raw/oio/enum.ReadOperation.html
@@ -1,4 +1,4 @@
-<!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="PageOperation is the name for APIs of lister."><title>ReadOperation in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" [...]
+<!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="PageOperation is the name for APIs of lister."><title>ReadOperation in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" [...]
Read,
Seek,
Next,
@@ -12,12 +12,12 @@
</div><section id="variant.BlockingRead" class="variant"><a href="#variant.BlockingRead" class="anchor">§</a><h3 class="code-header">BlockingRead</h3></section><div class="docblock"><p>Operation for <a href="trait.BlockingRead.html#tymethod.read" title="method opendal::raw::oio::BlockingRead::read"><code>BlockingRead::read</code></a></p>
</div><section id="variant.BlockingSeek" class="variant"><a href="#variant.BlockingSeek" class="anchor">§</a><h3 class="code-header">BlockingSeek</h3></section><div class="docblock"><p>Operation for <a href="trait.BlockingRead.html#tymethod.seek" title="method opendal::raw::oio::BlockingRead::seek"><code>BlockingRead::seek</code></a></p>
</div><section id="variant.BlockingNext" class="variant"><a href="#variant.BlockingNext" class="anchor">§</a><h3 class="code-header">BlockingNext</h3></section><div class="docblock"><p>Operation for <a href="trait.BlockingRead.html#tymethod.next" title="method opendal::raw::oio::BlockingRead::next"><code>BlockingRead::next</code></a></p>
-</div></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ReadOperation" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#52-57">source</a><a href="#impl-ReadOperation" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.ReadOperation.html" titl [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-ReadOperation" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#35">source</a><a href="#impl-Clone-for-ReadOperation" class="anchor">§</a><h3 class="co [...]
+</div></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ReadOperation" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#51-56">source</a><a href="#impl-ReadOperation" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.ReadOperation.html" titl [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-ReadOperation" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#34">source</a><a href="#impl-Clone-for-ReadOperation" class="anchor">§</a><h3 class="co [...]
H: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
- Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.74.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.74.0/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></det [...]
+ Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.74.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.74.0/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></det [...]
by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#231">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html#method.ne" class="f [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-ReadOperation" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#35">source</a><a href="#impl-Copy-for-ReadOperation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Re [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-ReadOperation" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#34">source</a><a href="#impl-Copy-for-ReadOperation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Re [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:// [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
diff --git a/docs/rust/opendal/raw/oio/struct.Cursor.html b/docs/rust/opendal/raw/oio/struct.Cursor.html
index 95bc23ef8..db50317c9 100644
--- a/docs/rust/opendal/raw/oio/struct.Cursor.html
+++ b/docs/rust/opendal/raw/oio/struct.Cursor.html
@@ -3,7 +3,7 @@
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/cursor.rs.html#42-44">source</a><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns <code>true</code> if the remaining sl [...]
</div></details><details class="toggle method-toggle" open><summary><section id="method.remaining_slice" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/cursor.rs.html#47-50">source</a><h4 class="code-header">pub fn <a href="#method.remaining_slice" class="fn">remaining_slice</a>(&self) -> &[<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&[u8]">ⓘ</a></h4></se [...]
</div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/cursor.rs.html#53-55">source</a><h4 class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Return the length of remaining slice.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingRead-for-Cursor" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/cursor.rs.html#116-157">source</a><a href="#impl-BlockingRead-for-Cursor" class="anchor">§</a><h3 class= [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingRead-for-Cursor" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/cursor.rs.html#116-157">source</a><a href="#impl-BlockingRead-for-Cursor" class="anchor">§</a><h3 class= [...]
&mut self,
_: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
@@ -69,12 +69,12 @@ function.</div></details><details class="toggle method-toggle" open><summary><se
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a><Target = T> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,
T: 'a + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
R: 'a,</span></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.deref_mut()</code> into the pipe
-function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-Cursor" class="impl"><a href="#impl-Pointable-for-Cursor" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class="anchor">§</a><h4 class="code [...]
- T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#191-193">source</a><a href="#method.read-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a&g [...]
+function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-Cursor" class="impl"><a href="#impl-Pointable-for-Cursor" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class="anchor">§</a><h4 class="code [...]
+ T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#190-192">source</a><a href="#method.read-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a&g [...]
&'a mut self,
buf: &'a mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>>
) -> ReadToEndFuture<'a, Self></h4></section></summary><div class='docblock'>Build a future for <code>read_to_end</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-Cursor" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-Cursor" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trai [...]
- T: <a class="trait" href="trait.Stream.html" title="trait opendal::raw::oio::Stream">Stream</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.next-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/stream/api.rs.html#144-146">source</a><a href="#method.next-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.StreamExt.html#method.next" class="fn">next</ [...]
+ T: <a class="trait" href="trait.Stream.html" title="trait opendal::raw::oio::Stream">Stream</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.next-2" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/stream/api.rs.html#144-146">source</a><a href="#method.next-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.StreamExt.html#method.next" class="fn">next</ [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
S: <a class="trait" href="trait.Stream.html" title="trait opendal::raw::oio::Stream">Stream</a>,</span></h4></section></summary><div class='docblock'>Chain this stream with another stream.</div></details><details class="toggle method-toggle" open><summary><section id="method.collect" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/stream/api.rs.html#166-174">source</a><a href="#method.collect" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Collect all items from this stream into a single bytes.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Tap-for-Cursor" class="impl"><a href="#impl-Tap-for-Cursor" class="anchor">§</a><h3 class="code-header">impl<T> Tap for T</h3></sectio [...]
diff --git a/docs/rust/opendal/raw/oio/struct.FileReader.html b/docs/rust/opendal/raw/oio/struct.FileReader.html
index b12f3bf1f..17e76000a 100644
--- a/docs/rust/opendal/raw/oio/struct.FileReader.html
+++ b/docs/rust/opendal/raw/oio/struct.FileReader.html
@@ -9,7 +9,7 @@ operations based on <a href="struct.AdaptiveBuf.html" title="struct opendal::raw
<p>It’s required that input reader’s cursor is at the input <code>start</code> of the file.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingRead-for-FileReader%3CA,+R%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/file_read.rs.html#392-538">source</a><a href="#impl-BlockingRead-for-FileReader%3CA,+ [...]
A: <a class="trait" href="../trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a><BlockingReader = R>,
- R: <a class="trait" href="trait.BlockingRead.html" title="trait opendal::raw::oio::BlockingRead">BlockingRead</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/file_read.rs.html#397-440">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod. [...]
+ R: <a class="trait" href="trait.BlockingRead.html" title="trait opendal::raw::oio::BlockingRead">BlockingRead</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/file_read.rs.html#397-440">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod. [...]
A: <a class="trait" href="../trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a><Reader = R>,
R: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/file_read.rs.html#246-289">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn"> [...]
&mut self,
@@ -83,8 +83,8 @@ function.</div></details><details class="toggle method-toggle" open><summary><se
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a><Target = T> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,
T: 'a + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
R: 'a,</span></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.deref_mut()</code> into the pipe
-function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-FileReader%3CA,+R%3E" class="impl"><a href="#impl-Pointable-for-FileReader%3CA,+R%3E" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class=" [...]
- T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#191-193">source</a><a href="#method.read-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a&g [...]
+function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-FileReader%3CA,+R%3E" class="impl"><a href="#impl-Pointable-for-FileReader%3CA,+R%3E" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class=" [...]
+ T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#190-192">source</a><a href="#method.read-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a&g [...]
&'a mut self,
buf: &'a mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>>
) -> ReadToEndFuture<'a, Self></h4></section></summary><div class='docblock'>Build a future for <code>read_to_end</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-FileReader%3CA,+R%3E" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-FileReader%3CA,+R%3E" class="anchor">§</a><h3 class="code-header"> [...]
diff --git a/docs/rust/opendal/raw/oio/struct.FromStreamReader.html b/docs/rust/opendal/raw/oio/struct.FromStreamReader.html
index d73062e46..3b295a1ef 100644
--- a/docs/rust/opendal/raw/oio/struct.FromStreamReader.html
+++ b/docs/rust/opendal/raw/oio/struct.FromStreamReader.html
@@ -72,8 +72,8 @@ function.</div></details><details class="toggle method-toggle" open><summary><se
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a><Target = T> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,
T: 'a + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
R: 'a,</span></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.deref_mut()</code> into the pipe
-function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-FromStreamReader%3CS%3E" class="impl"><a href="#impl-Pointable-for-FromStreamReader%3CS%3E" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" c [...]
- T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#191-193">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a>(& [...]
+function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-FromStreamReader%3CS%3E" class="impl"><a href="#impl-Pointable-for-FromStreamReader%3CS%3E" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" c [...]
+ T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#190-192">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a>(& [...]
&'a mut self,
buf: &'a mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>>
) -> ReadToEndFuture<'a, Self></h4></section></summary><div class='docblock'>Build a future for <code>read_to_end</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-FromStreamReader%3CS%3E" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-FromStreamReader%3CS%3E" class="anchor">§</a><h3 class="code-he [...]
diff --git a/docs/rust/opendal/raw/oio/struct.FuturesReader.html b/docs/rust/opendal/raw/oio/struct.FuturesReader.html
index f5f26b9b6..c5195dd1e 100644
--- a/docs/rust/opendal/raw/oio/struct.FuturesReader.html
+++ b/docs/rust/opendal/raw/oio/struct.FuturesReader.html
@@ -76,8 +76,8 @@ function.</div></details><details class="toggle method-toggle" open><summary><se
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a><Target = T> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,
T: 'a + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
R: 'a,</span></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.deref_mut()</code> into the pipe
-function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-FuturesReader%3CR%3E" class="impl"><a href="#impl-Pointable-for-FuturesReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class=" [...]
- T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#191-193">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a>(& [...]
+function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-FuturesReader%3CR%3E" class="impl"><a href="#impl-Pointable-for-FuturesReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class=" [...]
+ T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#190-192">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a>(& [...]
&'a mut self,
buf: &'a mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>>
) -> ReadToEndFuture<'a, Self></h4></section></summary><div class='docblock'>Build a future for <code>read_to_end</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-FuturesReader%3CR%3E" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-FuturesReader%3CR%3E" class="anchor">§</a><h3 class="code-header"> [...]
diff --git a/docs/rust/opendal/raw/oio/struct.LazyReader.html b/docs/rust/opendal/raw/oio/struct.LazyReader.html
index 07706e9ef..d78cd1255 100644
--- a/docs/rust/opendal/raw/oio/struct.LazyReader.html
+++ b/docs/rust/opendal/raw/oio/struct.LazyReader.html
@@ -4,7 +4,7 @@
A: <a class="trait" href="../trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/lazy_read.rs.html#56-64">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(acc: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/ [...]
</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingRead-for-LazyReader%3CA,+R%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/lazy_read.rs.html#147-202">source</a><a href="#impl-BlockingRead-for-LazyReader%3CA,+ [...]
A: <a class="trait" href="../trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a><BlockingReader = R>,
- R: <a class="trait" href="trait.BlockingRead.html" title="trait opendal::raw::oio::BlockingRead">BlockingRead</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/lazy_read.rs.html#152-166">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod. [...]
+ R: <a class="trait" href="trait.BlockingRead.html" title="trait opendal::raw::oio::BlockingRead">BlockingRead</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/lazy_read.rs.html#152-166">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod. [...]
A: <a class="trait" href="../trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a><Reader = R>,
R: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/lazy_read.rs.html#86-104">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">p [...]
&mut self,
@@ -78,8 +78,8 @@ function.</div></details><details class="toggle method-toggle" open><summary><se
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a><Target = T> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,
T: 'a + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
R: 'a,</span></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.deref_mut()</code> into the pipe
-function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-LazyReader%3CA,+R%3E" class="impl"><a href="#impl-Pointable-for-LazyReader%3CA,+R%3E" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class=" [...]
- T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#191-193">source</a><a href="#method.read-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a&g [...]
+function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-LazyReader%3CA,+R%3E" class="impl"><a href="#impl-Pointable-for-LazyReader%3CA,+R%3E" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class=" [...]
+ T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#190-192">source</a><a href="#method.read-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a&g [...]
&'a mut self,
buf: &'a mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>>
) -> ReadToEndFuture<'a, Self></h4></section></summary><div class='docblock'>Build a future for <code>read_to_end</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-LazyReader%3CA,+R%3E" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-LazyReader%3CA,+R%3E" class="anchor">§</a><h3 class="code-header"> [...]
diff --git a/docs/rust/opendal/raw/oio/struct.RangeReader.html b/docs/rust/opendal/raw/oio/struct.RangeReader.html
index 5d55466cd..a76075cfb 100644
--- a/docs/rust/opendal/raw/oio/struct.RangeReader.html
+++ b/docs/rust/opendal/raw/oio/struct.RangeReader.html
@@ -16,7 +16,7 @@ add extra cost to the read operation.</p>
seekable reader, please don’t use this.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingRead-for-RangeReader%3CA,+R%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/range_read.rs.html#434-598">source</a><a href="#impl-BlockingRead-for-RangeReader%3C [...]
A: <a class="trait" href="../trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a><BlockingReader = R>,
- R: <a class="trait" href="trait.BlockingRead.html" title="trait opendal::raw::oio::BlockingRead">BlockingRead</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/range_read.rs.html#439-492">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod [...]
+ R: <a class="trait" href="trait.BlockingRead.html" title="trait opendal::raw::oio::BlockingRead">BlockingRead</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/range_read.rs.html#439-492">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod [...]
A: <a class="trait" href="../trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a><Reader = R>,
R: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/range_read.rs.html#232-302">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn" [...]
&mut self,
@@ -90,8 +90,8 @@ function.</div></details><details class="toggle method-toggle" open><summary><se
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a><Target = T> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,
T: 'a + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
R: 'a,</span></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.deref_mut()</code> into the pipe
-function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-RangeReader%3CA,+R%3E" class="impl"><a href="#impl-Pointable-for-RangeReader%3CA,+R%3E" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class [...]
- T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#191-193">source</a><a href="#method.read-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a&g [...]
+function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-RangeReader%3CA,+R%3E" class="impl"><a href="#impl-Pointable-for-RangeReader%3CA,+R%3E" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class [...]
+ T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#190-192">source</a><a href="#method.read-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a&g [...]
&'a mut self,
buf: &'a mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>>
) -> ReadToEndFuture<'a, Self></h4></section></summary><div class='docblock'>Build a future for <code>read_to_end</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-RangeReader%3CA,+R%3E" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-RangeReader%3CA,+R%3E" class="anchor">§</a><h3 class="code-header [...]
diff --git a/docs/rust/opendal/raw/oio/struct.StdReader.html b/docs/rust/opendal/raw/oio/struct.StdReader.html
index 2a80a589b..a1d85ed8c 100644
--- a/docs/rust/opendal/raw/oio/struct.StdReader.html
+++ b/docs/rust/opendal/raw/oio/struct.StdReader.html
@@ -1,7 +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="FuturesReader implements `oio::BlockingRead` via `Read` + `Seek`."><title>StdReader in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" ty [...]
</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-StdReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/std_read.rs.html#32-37">source</a><a href="#impl-StdReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<R: <a class="trait" href="https:/ [...]
</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingRead-for-StdReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/std_read.rs.html#39-65">source</a><a href="#impl-BlockingRead-for-StdReader%3CR%3E" class [...]
- R: <a class="trait" href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html" title="trait std::io::Read">Read</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/std/io/trait.Seek.html" title="trait std::io::Seek">Seek</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync"> [...]
+ R: <a class="trait" href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html" title="trait std::io::Read">Read</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/std/io/trait.Seek.html" title="trait std::io::Seek">Seek</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync"> [...]
R: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</span></h3></section><section id="impl-Send-for-StdReader%3CR%3E" class="impl"><a href="#impl-Send-for-StdReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<R> <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> f [...]
R: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</span></h3></section><section id="impl-Sync-for-StdReader%3CR%3E" class="impl"><a href="#impl-Sync-for-StdReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<R> <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.StdReader.html" [...]
R: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</span></h3></section><section id="impl-Unpin-for-StdReader%3CR%3E" class="impl"><a href="#impl-Unpin-for-StdReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<R> <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.StdReader.h [...]
diff --git a/docs/rust/opendal/raw/oio/struct.StreamableReader.html b/docs/rust/opendal/raw/oio/struct.StreamableReader.html
index fe4f2e425..ca2f71fec 100644
--- a/docs/rust/opendal/raw/oio/struct.StreamableReader.html
+++ b/docs/rust/opendal/raw/oio/struct.StreamableReader.html
@@ -1,5 +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="Make given read streamable."><title>StreamableReader in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin hre [...]
-</div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingRead-for-StreamableReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/into_streamable_read.rs.html#70-93">source</a><a href="#impl-BlockingRead-for-StreamableReader%3CR%3E" c [...]
+</div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingRead-for-StreamableReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/into_streamable_read.rs.html#70-93">source</a><a href="#impl-BlockingRead-for-StreamableReader%3CR%3E" c [...]
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
@@ -74,8 +74,8 @@ function.</div></details><details class="toggle method-toggle" open><summary><se
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a><Target = T> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,
T: 'a + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
R: 'a,</span></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.deref_mut()</code> into the pipe
-function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-StreamableReader%3CR%3E" class="impl"><a href="#impl-Pointable-for-StreamableReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" c [...]
- T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#191-193">source</a><a href="#method.read-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a&g [...]
+function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-StreamableReader%3CR%3E" class="impl"><a href="#impl-Pointable-for-StreamableReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" c [...]
+ T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#190-192">source</a><a href="#method.read-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a&g [...]
&'a mut self,
buf: &'a mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>>
) -> ReadToEndFuture<'a, Self></h4></section></summary><div class='docblock'>Build a future for <code>read_to_end</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-StreamableReader%3CR%3E" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-StreamableReader%3CR%3E" class="anchor">§</a><h3 class="code-he [...]
diff --git a/docs/rust/opendal/raw/oio/struct.TokioReader.html b/docs/rust/opendal/raw/oio/struct.TokioReader.html
index 1af39b24a..5241c8459 100644
--- a/docs/rust/opendal/raw/oio/struct.TokioReader.html
+++ b/docs/rust/opendal/raw/oio/struct.TokioReader.html
@@ -76,8 +76,8 @@ function.</div></details><details class="toggle method-toggle" open><summary><se
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a><Target = T> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,
T: 'a + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
R: 'a,</span></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.deref_mut()</code> into the pipe
-function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-TokioReader%3CR%3E" class="impl"><a href="#impl-Pointable-for-TokioReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class="anch [...]
- T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#191-193">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a>(& [...]
+function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-TokioReader%3CR%3E" class="impl"><a href="#impl-Pointable-for-TokioReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class="anch [...]
+ T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#190-192">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.ReadExt.html#method.read" class="fn">read</a><'a>(& [...]
&'a mut self,
buf: &'a mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>>
) -> ReadToEndFuture<'a, Self></h4></section></summary><div class='docblock'>Build a future for <code>read_to_end</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-TokioReader%3CR%3E" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-TokioReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl [...]
diff --git a/docs/rust/opendal/raw/oio/trait.BlockingList.html b/docs/rust/opendal/raw/oio/trait.BlockingList.html
index 779846f5a..3ce04f8ff 100644
--- a/docs/rust/opendal/raw/oio/trait.BlockingList.html
+++ b/docs/rust/opendal/raw/oio/trait.BlockingList.html
@@ -5,6 +5,6 @@
</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.next" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/list/api.rs.html#99">source</a><h4 class="code-header">fn <a href="#tymethod.next" class="fn">next</a>(&mut self) -> <a class="type" href="../../type.Result.html" title= [...]
<p><code>Ok(None)</code> means all pages have been returned. Any following call
to <code>next</code> will always get the same result.</p>
-</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-BlockingList-for-()" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/list/api.rs.html#111-115">source</a><a href="#impl-BlockingList-for-()" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.BlockingList.html" ti [...]
+</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-BlockingList-for-Option%3CP%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/list/api.rs.html#117-124">source</a><a href="#impl-BlockingList-for-Option%3CP%3E" class="anchor">§</a><h3 class="code-header">impl<P: <a class="trait" href= [...]
A: <a class="trait" href="../trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a><BlockingLister = P>,
- P: <a class="trait" href="trait.BlockingList.html" title="trait opendal::raw::oio::BlockingList">BlockingList</a>,</span></h3></section><section id="impl-BlockingList-for-HierarchyLister%3CP%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/list/hierarchy_list.rs.html#135-148">source</a><a href="#impl-BlockingList-for-HierarchyLister%3CP%3E" class="anchor">§</a><h3 class="code-header">impl<P: <a class="trait" href="trait.BlockingList.html" title="trait o [...]
\ No newline at end of file
+ P: <a class="trait" href="trait.BlockingList.html" title="trait opendal::raw::oio::BlockingList">BlockingList</a>,</span></h3></section><section id="impl-BlockingList-for-HierarchyLister%3CP%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/list/hierarchy_list.rs.html#135-148">source</a><a href="#impl-BlockingList-for-HierarchyLister%3CP%3E" class="anchor">§</a><h3 class="code-header">impl<P: <a class="trait" href="trait.BlockingList.html" title="trait o [...]
\ No newline at end of file
diff --git a/docs/rust/opendal/raw/oio/trait.BlockingRead.html b/docs/rust/opendal/raw/oio/trait.BlockingRead.html
index 7f54a4707..169a0db02 100644
--- a/docs/rust/opendal/raw/oio/trait.BlockingRead.html
+++ b/docs/rust/opendal/raw/oio/trait.BlockingRead.html
@@ -1,4 +1,4 @@
-<!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="Read is the trait that OpenDAL returns to callers."><title>BlockingRead in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/wof [...]
+<!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="Read is the trait that OpenDAL returns to callers."><title>BlockingRead in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/wof [...]
// Required methods
fn <a href="#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -> <a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>;
<span class="item-spacer"></span> fn <a href="#tymethod.seek" class="fn">seek</a>(&mut self, pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>) -> <a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>;
@@ -15,19 +15,19 @@
</ul>
<p><code>Read</code> is required to be implemented, <code>Seek</code> and <code>Iterator</code>
is optional. We use <code>Read</code> to make users life easier.</p>
-</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.read" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#353">source</a><h4 class="code-header">fn <a href="#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rus [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.seek" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#356">source</a><h4 class="code-header">fn <a href="#tymethod.seek" class="fn">seek</a>(&mut self, pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>) -> <a class="type" href="../../type.Result.html" title="type openda [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.next" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#359">source</a><h4 class="code-header">fn <a href="#tymethod.next" class="fn">next</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="type" href="../../type.Result.html" title="type opend [...]
-</div></details></div><h2 id="provided-methods" class="small-section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.read_to_end" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#362-406">source</a><h4 class="code-header">fn <a href="#method.read_to_end" class="fn">read_to_end</a>(&mut self, buf: &mut <a class="struct [...]
-</div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Iterator-for-dyn+BlockingRead" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#465-473">source</a><a href="#impl-Iterator-for-dyn+BlockingRead" class="anchor">§</a><h3 class="c [...]
+</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.read" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#344">source</a><h4 class="code-header">fn <a href="#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rus [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.seek" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#347">source</a><h4 class="code-header">fn <a href="#tymethod.seek" class="fn">seek</a>(&mut self, pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>) -> <a class="type" href="../../type.Result.html" title="type openda [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.next" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#350">source</a><h4 class="code-header">fn <a href="#tymethod.next" class="fn">next</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="type" href="../../type.Result.html" title="type opend [...]
+</div></details></div><h2 id="provided-methods" class="small-section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.read_to_end" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#353-397">source</a><h4 class="code-header">fn <a href="#method.read_to_end" class="fn">read_to_end</a>(&mut self, buf: &mut <a class="struct [...]
+</div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Iterator-for-dyn+BlockingRead" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#456-464">source</a><a href="#impl-Iterator-for-dyn+BlockingRead" class="anchor">§</a><h3 class="c [...]
how many bytes were read. <a href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html#tymethod.read">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_vectored" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.36.0">1.36.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/std/io/mod.rs.html#708">source</a></span><a href="#method.read_vectored" class="ancho [...]
-implementation. <a href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html#method.is_read_vectored">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_to_end-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/std/io/mod.rs.html#772">source</a></span><a href="#method.read_to_end-1" class="anchor" [...]
+implementation. <a href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html#method.is_read_vectored">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_to_end-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/std/io/mod.rs.html#772">source</a></span><a href="#method.read_to_end-1" class="anchor" [...]
To make BlockingReader work as expected, we must add this impl.</p>
-</div><div class="impl-items"><section id="method.read-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#436-438">source</a><a href="#method.read-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -> <a class="type" href="../../type.Result.html" title="type opendal:: [...]
+</div><div class="impl-items"><section id="method.read-2" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#427-429">source</a><a href="#method.read-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -> <a class="type" href="../../type.Result.html" title="type opendal:: [...]
A: <a class="trait" href="../trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a><BlockingReader = R>,
R: <a class="trait" href="trait.BlockingRead.html" title="trait opendal::raw::oio::BlockingRead">BlockingRead</a>,</span></h3></section><section id="impl-BlockingRead-for-LazyReader%3CA,+R%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/lazy_read.rs.html#147-202">source</a><a href="#impl-BlockingRead-for-LazyReader%3CA,+R%3E" class="anchor">§</a><h3 class="code-header">impl<A, R> <a class="trait" href="trait.BlockingRead.html" title="trait open [...]
A: <a class="trait" href="../trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a><BlockingReader = R>,
R: <a class="trait" href="trait.BlockingRead.html" title="trait opendal::raw::oio::BlockingRead">BlockingRead</a>,</span></h3></section><section id="impl-BlockingRead-for-RangeReader%3CA,+R%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/range_read.rs.html#434-598">source</a><a href="#impl-BlockingRead-for-RangeReader%3CA,+R%3E" class="anchor">§</a><h3 class="code-header">impl<A, R> <a class="trait" href="trait.BlockingRead.html" title="trait o [...]
A: <a class="trait" href="../trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a><BlockingReader = R>,
R: <a class="trait" href="trait.BlockingRead.html" title="trait opendal::raw::oio::BlockingRead">BlockingRead</a>,</span></h3></section><section id="impl-BlockingRead-for-StdReader%3CR%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/std_read.rs.html#39-65">source</a><a href="#impl-BlockingRead-for-StdReader%3CR%3E" class="anchor">§</a><h3 class="code-header">impl<R> <a class="trait" href="trait.BlockingRead.html" title="trait opendal::raw::oio: [...]
- R: <a class="trait" href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html" title="trait std::io::Read">Read</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/std/io/trait.Seek.html" title="trait std::io::Seek">Seek</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync"> [...]
\ No newline at end of file
+ R: <a class="trait" href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html" title="trait std::io::Read">Read</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/std/io/trait.Seek.html" title="trait std::io::Seek">Seek</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync"> [...]
\ No newline at end of file
diff --git a/docs/rust/opendal/raw/oio/trait.List.html b/docs/rust/opendal/raw/oio/trait.List.html
index ae59ff83d..72217d2cc 100644
--- a/docs/rust/opendal/raw/oio/trait.List.html
+++ b/docs/rust/opendal/raw/oio/trait.List.html
@@ -5,7 +5,7 @@
</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.poll_next" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/list/api.rs.html#66">source</a><h4 class="code-header">fn <a href="#tymethod.poll_next" class="fn">poll_next</a>(&mut self, cx: &mut <a class="struct" href="https: [...]
<p><code>Ok(None)</code> means all pages have been returned. Any following call
to <code>next</code> will always get the same result.</p>
-</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-List-for-()" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/list/api.rs.html#78-82">source</a><a href="#impl-List-for-()" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.List.html" title="trait opendal::raw::o [...]
+</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-List-for-()" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/list/api.rs.html#78-82">source</a><a href="#impl-List-for-()" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.List.html" title="trait opendal::raw::o [...]
A: <a class="trait" href="../trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a><Lister = L>,
L: <a class="trait" href="trait.List.html" title="trait opendal::raw::oio::List">List</a>,</span></h3></section><section id="impl-List-for-PageLister%3CL%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/list/page_list.rs.html#102-135">source</a><a href="#impl-List-for-PageLister%3CL%3E" class="anchor">§</a><h3 class="code-header">impl<L> <a class="trait" href="trait.List.html" title="trait opendal::raw::oio::List">List</a> for <a class="struct" href= [...]
- L: <a class="trait" href="trait.PageList.html" title="trait opendal::raw::oio::PageList">PageList</a>,</span></h3></section><section id="impl-List-for-HierarchyLister%3CP%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/list/hierarchy_list.rs.html#120-133">source</a><a href="#impl-List-for-HierarchyLister%3CP%3E" class="anchor">§</a><h3 class="code-header">impl<P: <a class="trait" href="trait.List.html" title="trait opendal::raw::oio::List">List</a>> [...]
\ No newline at end of file
+ L: <a class="trait" href="trait.PageList.html" title="trait opendal::raw::oio::PageList">PageList</a>,</span></h3></section><section id="impl-List-for-HierarchyLister%3CP%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/list/hierarchy_list.rs.html#120-133">source</a><a href="#impl-List-for-HierarchyLister%3CP%3E" class="anchor">§</a><h3 class="code-header">impl<P: <a class="trait" href="trait.List.html" title="trait opendal::raw::oio::List">List</a>> [...]
\ No newline at end of file
diff --git a/docs/rust/opendal/raw/oio/trait.Read.html b/docs/rust/opendal/raw/oio/trait.Read.html
index d2c580eee..1b57ccd90 100644
--- a/docs/rust/opendal/raw/oio/trait.Read.html
+++ b/docs/rust/opendal/raw/oio/trait.Read.html
@@ -1,4 +1,4 @@
-<!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="Read is the trait that OpenDAL returns to callers."><title>Read in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cros [...]
+<!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="Read is the trait that OpenDAL returns to callers."><title>Read in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cros [...]
// Required methods
fn <a href="#tymethod.poll_read" class="fn">poll_read</a>(
&mut self,
@@ -20,23 +20,23 @@
</ul>
<p><code>AsyncRead</code> is required to be implemented, <code>AsyncSeek</code> and <code>Stream</code>
is optional. We use <code>Read</code> to make users life easier.</p>
-</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.poll_read" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#95">source</a><h4 class="code-header">fn <a href="#tymethod.poll_read" class="fn">poll_read</a>(
+</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.poll_read" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#94">source</a><h4 class="code-header">fn <a href="#tymethod.poll_read" class="fn">poll_read</a>(
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class="docblock"><p>Read bytes asynchronously.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.poll_seek" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#100">source</a><h4 class="code-header">fn <a href="#tymethod.poll_seek" class="fn">poll_seek</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.poll_seek" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#99">source</a><h4 class="code-header">fn <a href="#tymethod.poll_seek" class="fn">poll_seek</a>(
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class="docblock"><p>Seek asynchronously.</p>
<p>Returns <code>Unsupported</code> error if underlying reader doesn’t support seek.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.poll_next" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#109">source</a><h4 class="code-header">fn <a href="#tymethod.poll_next" class="fn">poll_next</a>(&mut self, cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>) -> <a class="e [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.poll_next" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#108">source</a><h4 class="code-header">fn <a href="#tymethod.poll_next" class="fn">poll_next</a>(&mut self, cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>) -> <a class="e [...]
<p>Returns <code>Unsupported</code> error if underlying reader doesn’t support stream.</p>
<p>This API exists for avoiding bytes copying inside async runtime.
Users can poll bytes from underlying reader and decide when to
read/consume them.</p>
-</div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncRead-for-dyn+Read" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#154-163">source</a><a href="#impl-AsyncRead-for-dyn+Read" class="anchor">§</a><h3 class="code-header">im [...]
+</div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncRead-for-dyn+Read" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#153-162">source</a><a href="#impl-AsyncRead-for-dyn+Read" class="anchor">§</a><h3 class="code-header">im [...]
self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&mut Self</a>>,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
@@ -45,34 +45,34 @@ read/consume them.</p>
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
bufs: &mut [<a class="struct" href="https://doc.rust-lang.org/1.74.0/std/io/struct.IoSliceMut.html" title="struct std::io::IoSliceMut">IoSliceMut</a><'_>]
) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>, <a class="struct" href="https://doc.rust-lang.org/1.74.0/std/io/error/struct.Error.html" title="struct std::io::error::E [...]
-IO operations. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncSeek-for-dyn+Read" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#165-174">source</a><a href="#impl-AsyncSeek-for-dyn+Read" class="anchor">§</a><h3 class="code-header">impl AsyncSeek for dyn <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a></h3></section></summary><di [...]
+IO operations. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncSeek-for-dyn+Read" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#164-173">source</a><a href="#impl-AsyncSeek-for-dyn+Read" class="anchor">§</a><h3 class="code-header">impl AsyncSeek for dyn <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a></h3></section></summary><di [...]
self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&mut Self</a>>,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="https://doc.rust-lang.org/1.74.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Attempt to seek to an offset, in bytes, in a stream. <a>Read more</a [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="https://doc.rust-lang.org/1.74.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Attempt to seek to an offset, in bytes, in a stream. <a>Read more</a [...]
self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&mut Self</a>>,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>
) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self::Item>></h4></section></summary><div class='docblock'>Attempt to pull out the next value of this stream, registering the
current task for wakeup if the value is not yet available, and returning
-<code>None</code> if the stream is exhausted. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.size_hint" class="method trait-impl"><a href="#method.size_hint" class="anchor">§</a><h4 class="code-header">fn <a class="fn">size_hint</a>(&self) -> (<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>, <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" ti [...]
+<code>None</code> if the stream is exhausted. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.size_hint" class="method trait-impl"><a href="#method.size_hint" class="anchor">§</a><h4 class="code-header">fn <a class="fn">size_hint</a>(&self) -> (<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>, <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" ti [...]
work as expected, we must add this impl.</p>
-</div><div class="impl-items"><section id="method.poll_read-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#141-143">source</a><a href="#method.poll_read-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_read" class="fn">poll_read</a>(
+</div><div class="impl-items"><section id="method.poll_read-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#140-142">source</a><a href="#method.poll_read-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_read" class="fn">poll_read</a>(
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section><section id="method.poll_seek-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#145-147 [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section><section id="method.poll_seek-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#144-146 [...]
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section><section id="method.poll_next-2" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#149-151">so [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section><section id="method.poll_next-2" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#148-150">so [...]
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section><section id="method.poll_seek-2" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#119-126 [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section><section id="method.poll_seek-2" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#118-125 [...]
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section><section id="method.poll_next-3" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#128-135">so [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section><section id="method.poll_next-3" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#127-134">so [...]
A: <a class="trait" href="../trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a><Reader = R>,
R: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section><section id="impl-Read-for-LazyReader%3CA,+R%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/lazy_read.rs.html#81-145">source</a><a href="#impl-Read-for-LazyReader%3CA,+R%3E" class="anchor">§</a><h3 class="code-header">impl<A, R> <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a> for <a class="struc [...]
A: <a class="trait" href="../trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a><Reader = R>,
diff --git a/docs/rust/opendal/raw/oio/trait.ReadExt.html b/docs/rust/opendal/raw/oio/trait.ReadExt.html
index abb4d3e46..3bc849f5b 100644
--- a/docs/rust/opendal/raw/oio/trait.ReadExt.html
+++ b/docs/rust/opendal/raw/oio/trait.ReadExt.html
@@ -1,4 +1,4 @@
-<!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="Extension of `Read` to make it easier for use."><title>ReadExt in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cross [...]
+<!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="Extension of `Read` to make it easier for use."><title>ReadExt in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cross [...]
// Provided methods
fn <a href="#method.read" class="fn">read</a><'a>(&'a mut self, buf: &'a mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -> ReadFuture<'a, Self> { ... }
<span class="item-spacer"></span> fn <a href="#method.seek" class="fn">seek</a>(&mut self, pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>) -> SeekFuture<'_, Self> { ... }
@@ -8,12 +8,12 @@
buf: &'a mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>>
) -> ReadToEndFuture<'a, Self> { ... }
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Extension of <a href="trait.Read.html" title="trait opendal::raw::oio::Read"><code>Read</code></a> to make it easier for use.</p>
-</div></details><h2 id="provided-methods" class="small-section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.read" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#191-193">source</a><h4 class="code-header">fn <a href="#method.read" class="fn">read</a><'a>(&'a mut self, buf: &'a mut [<a class="primitive" href= [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.seek" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#196-198">source</a><h4 class="code-header">fn <a href="#method.seek" class="fn">seek</a>(&mut self, pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>) -> SeekFuture<'_, Self></h4></section></summary><div class="d [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.next" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#201-203">source</a><h4 class="code-header">fn <a href="#method.next" class="fn">next</a>(&mut self) -> NextFuture<'_, Self></h4></section></summary><div class="docblock"><p>Build a future for <code>poll_next</code></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.read_to_end" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#206-215">source</a><h4 class="code-header">fn <a href="#method.read_to_end" class="fn">read_to_end</a><'a>(
+</div></details><h2 id="provided-methods" class="small-section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.read" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#190-192">source</a><h4 class="code-header">fn <a href="#method.read" class="fn">read</a><'a>(&'a mut self, buf: &'a mut [<a class="primitive" href= [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.seek" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#195-197">source</a><h4 class="code-header">fn <a href="#method.seek" class="fn">seek</a>(&mut self, pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>) -> SeekFuture<'_, Self></h4></section></summary><div class="d [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.next" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#200-202">source</a><h4 class="code-header">fn <a href="#method.next" class="fn">next</a>(&mut self) -> NextFuture<'_, Self></h4></section></summary><div class="docblock"><p>Build a future for <code>poll_next</code></p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.read_to_end" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#205-207">source</a><h4 class="code-header">fn <a href="#method.read_to_end" class="fn">read_to_end</a><'a>(
&'a mut self,
buf: &'a mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>>
) -> ReadToEndFuture<'a, Self></h4></section></summary><div class="docblock"><p>Build a future for <code>read_to_end</code>.</p>
-</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-ReadExt-for-T" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#186">source</a><a href="#impl-ReadExt-for-T" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>> <a class="trait" [...]
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-ReadExt-for-T" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#185">source</a><a href="#impl-ReadExt-for-T" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>> <a class="trait" [...]
</div></div><script src="../../../implementors/opendal/raw/oio/read/api/trait.ReadExt.js" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/rust/opendal/raw/oio/trait.Stream.html b/docs/rust/opendal/raw/oio/trait.Stream.html
index 4ec4e2982..e0346191d 100644
--- a/docs/rust/opendal/raw/oio/trait.Stream.html
+++ b/docs/rust/opendal/raw/oio/trait.Stream.html
@@ -12,6 +12,6 @@
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>
) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self::Item>></h4></section></summary><div class='docblock'>Attempt to pull out the next value of this stream, registering the
current task for wakeup if the value is not yet available, and returning
-<code>None</code> if the stream is exhausted. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.size_hint" class="method trait-impl"><a href="#method.size_hint" class="anchor">§</a><h4 class="code-header">fn <a class="fn">size_hint</a>(&self) -> (<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>, <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" ti [...]
+<code>None</code> if the stream is exhausted. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.size_hint" class="method trait-impl"><a href="#method.size_hint" class="anchor">§</a><h4 class="code-header">fn <a class="fn">size_hint</a>(&self) -> (<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>, <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" ti [...]
To make Streamer work as expected, we must add this impl.</p>
-</div><div class="impl-items"><section id="method.poll_next-2" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/stream/api.rs.html#63-65">source</a><a href="#method.poll_next-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_next" class="fn">poll_next</a>(&mut self, cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&l [...]
\ No newline at end of file
+</div><div class="impl-items"><section id="method.poll_next-4" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/stream/api.rs.html#63-65">source</a><a href="#method.poll_next-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_next" class="fn">poll_next</a>(&mut self, cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&l [...]
\ No newline at end of file
diff --git a/docs/rust/opendal/raw/oio/trait.Write.html b/docs/rust/opendal/raw/oio/trait.Write.html
index 9b8ea5d8e..43a8005da 100644
--- a/docs/rust/opendal/raw/oio/trait.Write.html
+++ b/docs/rust/opendal/raw/oio/trait.Write.html
@@ -22,16 +22,16 @@
repeatedly until all bytes has been written.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.poll_close" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#90">source</a><h4 class="code-header">fn <a href="#tymethod.poll_close" class="fn">poll_close</a>(&mut self, cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>) -> <a class [...]
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.poll_abort" class="method"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#93">source</a><h4 class="code-header">fn <a href="#tymethod.poll_abort" class="fn">poll_abort</a>(&mut self, cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>) -> <a class [...]
-</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-Write-for-Box%3CT%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#119-131">source</a><a href="#impl-Write-for-Box%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="trait.Write.html" [...]
+</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-Write-for-()" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#96-114">source</a><a href="#impl-Write-for-()" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Write.html" title="trait opendal::r [...]
+ &mut self,
+ _: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
+ _: &dyn <a class="trait" href="trait.WriteBuf.html" title="trait opendal::raw::oio::WriteBuf">WriteBuf</a>
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section><section id="method.poll_close" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#101-106 [...]
<p>To make Writer work as expected, we must add this impl.</p>
-</div><div class="impl-items"><section id="method.poll_write" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#120-122">source</a><a href="#method.poll_write" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_write" class="fn">poll_write</a>(
+</div><div class="impl-items"><section id="method.poll_write-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#120-122">source</a><a href="#method.poll_write-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.poll_write" class="fn">poll_write</a>(
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
bs: &dyn <a class="trait" href="trait.WriteBuf.html" title="trait opendal::raw::oio::WriteBuf">WriteBuf</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section><section id="method.poll_close" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#124-126 [...]
- &mut self,
- _: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
- _: &dyn <a class="trait" href="trait.WriteBuf.html" title="trait opendal::raw::oio::WriteBuf">WriteBuf</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section><section id="method.poll_close-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#101-1 [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section><section id="method.poll_close-1" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#124-1 [...]
W: <a class="trait" href="trait.AppendObjectWrite.html" title="trait opendal::raw::oio::AppendObjectWrite">AppendObjectWrite</a>,</span></h3></section><section id="impl-Write-for-MultipartUploadWriter%3CW%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/multipart_upload_write.rs.html#143-331">source</a><a href="#impl-Write-for-MultipartUploadWriter%3CW%3E" class="anchor">§</a><h3 class="code-header">impl<W> <a class="trait" href="trait.Write.ht [...]
- W: <a class="trait" href="trait.MultipartUploadWrite.html" title="trait opendal::raw::oio::MultipartUploadWrite">MultipartUploadWrite</a>,</span></h3></section><section id="impl-Write-for-OneShotWriter%3CW%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/one_shot_write.rs.html#69-128">source</a><a href="#impl-Write-for-OneShotWriter%3CW%3E" class="anchor">§</a><h3 class="code-header">impl<W: <a class="trait" href="trait.OneShotWrite.html" title="t [...]
\ No newline at end of file
+ W: <a class="trait" href="trait.MultipartUploadWrite.html" title="trait opendal::raw::oio::MultipartUploadWrite">MultipartUploadWrite</a>,</span></h3></section><section id="impl-Write-for-OneShotWriter%3CW%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/one_shot_write.rs.html#69-128">source</a><a href="#impl-Write-for-OneShotWriter%3CW%3E" class="anchor">§</a><h3 class="code-header">impl<W: <a class="trait" href="trait.OneShotWrite.html" title="t [...]
\ No newline at end of file
diff --git a/docs/rust/opendal/raw/oio/trait.WriteBuf.html b/docs/rust/opendal/raw/oio/trait.WriteBuf.html
index 50e0380be..b7ca0e52b 100644
--- a/docs/rust/opendal/raw/oio/trait.WriteBuf.html
+++ b/docs/rust/opendal/raw/oio/trait.WriteBuf.html
@@ -54,4 +54,4 @@ the given <code>self.bytes(size)</code> could be done without cost. For example,
buffer is <code>Bytes</code>.</p>
<h5 id="panics-3"><a href="#panics-3">Panics</a></h5>
<p>This function will panic if size > self.remaining().</p>
-</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-WriteBuf-for-Box%3CT%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/buf/write_buf.rs.html#147-149">source</a><a href="#impl-WriteBuf-for-Box%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="trait.Wr [...]
\ No newline at end of file
+</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-WriteBuf-for-Box%3CT%3E" class="impl"><a class="src rightside" href="../../../src/opendal/raw/oio/buf/write_buf.rs.html#147-149">source</a><a href="#impl-WriteBuf-for-Box%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="trait.Wr [...]
\ No newline at end of file
diff --git a/docs/rust/opendal/raw/oio/type.BlockingLister.html b/docs/rust/opendal/raw/oio/type.BlockingLister.html
index 54820a647..2dc1eb78b 100644
--- a/docs/rust/opendal/raw/oio/type.BlockingLister.html
+++ b/docs/rust/opendal/raw/oio/type.BlockingLister.html
@@ -1,22 +1,22 @@
<!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="BlockingLister is a boxed `BlockingList`"><title>BlockingLister in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cros [...]
-</div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BlockingLister(/* private fields */);</code></pre><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingList-for-Box% [...]
+</div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BlockingLister(/* private fields */);</code></pre><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingList-for-Box% [...]
To make BlockingReader work as expected, we must add this impl.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#436-438">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -& [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#427-429">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -& [...]
<p>To make BlockingWriter work as expected, we must add this impl.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.write" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#240-242">source</a><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingWrite.html#tymethod.write" class="fn">write</a>(&mut self, bs: &dyn <a class="trait" href="trait.WriteBuf.html" title="trait opendal::raw::oio::WriteBuf">Writ [...]
A: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/alloc/trait.Allocator.html" title="trait core::alloc::Allocator">Allocator</a>,
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html#associatedtype.Target" class="asso [...]
- T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/boxed.rs.html#2435">source</a><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/boxed.rs.html#2435">source</a><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
work as expected, we must add this impl.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#141-143">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">poll_read</a>(
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#140-142">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">poll_read</a>(
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="meth [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="meth [...]
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="togg [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="togg [...]
To make Streamer work as expected, we must add this impl.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_next-2" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/stream/api.rs.html#63-65">source</a><a href="#method.poll_next-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Stream.html#tymethod.poll_next" class="fn">poll_next</a>(&mut self, cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct [...]
<p>To make Writer work as expected, we must add this impl.</p>
diff --git a/docs/rust/opendal/raw/oio/type.BlockingReader.html b/docs/rust/opendal/raw/oio/type.BlockingReader.html
index 0cf4f2de0..426d140ad 100644
--- a/docs/rust/opendal/raw/oio/type.BlockingReader.html
+++ b/docs/rust/opendal/raw/oio/type.BlockingReader.html
@@ -1,22 +1,22 @@
-<!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="BlockingReader is a boxed dyn `BlockingRead`."><title>BlockingReader in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" [...]
-</div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BlockingReader(/* private fields */);</code></pre><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingList-for-Box% [...]
+<!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="BlockingReader is a boxed dyn `BlockingRead`."><title>BlockingReader in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" [...]
+</div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BlockingReader(/* private fields */);</code></pre><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingList-for-Box% [...]
To make BlockingReader work as expected, we must add this impl.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#436-438">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -& [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#427-429">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -& [...]
<p>To make BlockingWriter work as expected, we must add this impl.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.write" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#240-242">source</a><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingWrite.html#tymethod.write" class="fn">write</a>(&mut self, bs: &dyn <a class="trait" href="trait.WriteBuf.html" title="trait opendal::raw::oio::WriteBuf">Writ [...]
A: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/alloc/trait.Allocator.html" title="trait core::alloc::Allocator">Allocator</a>,
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html#associatedtype.Target" class="asso [...]
- T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/boxed.rs.html#2435">source</a><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/boxed.rs.html#2435">source</a><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
work as expected, we must add this impl.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#141-143">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">poll_read</a>(
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#140-142">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">poll_read</a>(
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="meth [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="meth [...]
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="togg [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="togg [...]
To make Streamer work as expected, we must add this impl.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_next-2" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/stream/api.rs.html#63-65">source</a><a href="#method.poll_next-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Stream.html#tymethod.poll_next" class="fn">poll_next</a>(&mut self, cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct [...]
<p>To make Writer work as expected, we must add this impl.</p>
diff --git a/docs/rust/opendal/raw/oio/type.BlockingWriter.html b/docs/rust/opendal/raw/oio/type.BlockingWriter.html
index 9cedbfd22..b58c88b12 100644
--- a/docs/rust/opendal/raw/oio/type.BlockingWriter.html
+++ b/docs/rust/opendal/raw/oio/type.BlockingWriter.html
@@ -1,22 +1,22 @@
<!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="BlockingWriter is a type erased `BlockingWrite`"><title>BlockingWriter in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff [...]
-</div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BlockingWriter(/* private fields */);</code></pre><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingList-for-Box% [...]
+</div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct BlockingWriter(/* private fields */);</code></pre><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingList-for-Box% [...]
To make BlockingReader work as expected, we must add this impl.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#436-438">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -& [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#427-429">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -& [...]
<p>To make BlockingWriter work as expected, we must add this impl.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.write" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#240-242">source</a><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingWrite.html#tymethod.write" class="fn">write</a>(&mut self, bs: &dyn <a class="trait" href="trait.WriteBuf.html" title="trait opendal::raw::oio::WriteBuf">Writ [...]
A: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/alloc/trait.Allocator.html" title="trait core::alloc::Allocator">Allocator</a>,
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html#associatedtype.Target" class="asso [...]
- T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/boxed.rs.html#2435">source</a><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/boxed.rs.html#2435">source</a><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
work as expected, we must add this impl.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#141-143">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">poll_read</a>(
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#140-142">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">poll_read</a>(
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="meth [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="meth [...]
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="togg [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="togg [...]
To make Streamer work as expected, we must add this impl.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_next-2" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/stream/api.rs.html#63-65">source</a><a href="#method.poll_next-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Stream.html#tymethod.poll_next" class="fn">poll_next</a>(&mut self, cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct [...]
<p>To make Writer work as expected, we must add this impl.</p>
diff --git a/docs/rust/opendal/raw/oio/type.Lister.html b/docs/rust/opendal/raw/oio/type.Lister.html
index 07f5e664e..cbf852639 100644
--- a/docs/rust/opendal/raw/oio/type.Lister.html
+++ b/docs/rust/opendal/raw/oio/type.Lister.html
@@ -1,22 +1,22 @@
<!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="The boxed version of `List`"><title>Lister in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../. [...]
-</div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Lister(/* private fields */);</code></pre><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingList-for-Box%3CP%3E" [...]
+</div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Lister(/* private fields */);</code></pre><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingList-for-Box%3CP%3E" [...]
To make BlockingReader work as expected, we must add this impl.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#436-438">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -& [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#427-429">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -& [...]
<p>To make BlockingWriter work as expected, we must add this impl.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.write" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#240-242">source</a><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingWrite.html#tymethod.write" class="fn">write</a>(&mut self, bs: &dyn <a class="trait" href="trait.WriteBuf.html" title="trait opendal::raw::oio::WriteBuf">Writ [...]
A: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/alloc/trait.Allocator.html" title="trait core::alloc::Allocator">Allocator</a>,
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html#associatedtype.Target" class="asso [...]
- T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/boxed.rs.html#2435">source</a><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/boxed.rs.html#2435">source</a><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
work as expected, we must add this impl.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#141-143">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">poll_read</a>(
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#140-142">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">poll_read</a>(
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="meth [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="meth [...]
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="togg [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="togg [...]
To make Streamer work as expected, we must add this impl.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_next-2" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/stream/api.rs.html#63-65">source</a><a href="#method.poll_next-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Stream.html#tymethod.poll_next" class="fn">poll_next</a>(&mut self, cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct [...]
<p>To make Writer work as expected, we must add this impl.</p>
diff --git a/docs/rust/opendal/raw/oio/type.Reader.html b/docs/rust/opendal/raw/oio/type.Reader.html
index d83e0cee9..6eca33232 100644
--- a/docs/rust/opendal/raw/oio/type.Reader.html
+++ b/docs/rust/opendal/raw/oio/type.Reader.html
@@ -1,22 +1,22 @@
-<!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="Reader is a type erased `Read`."><title>Reader in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../ [...]
-</div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Reader(/* private fields */);</code></pre><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingList-for-Box%3CP%3E" [...]
+<!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="Reader is a type erased `Read`."><title>Reader in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../ [...]
+</div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Reader(/* private fields */);</code></pre><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingList-for-Box%3CP%3E" [...]
To make BlockingReader work as expected, we must add this impl.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#436-438">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -& [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#427-429">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -& [...]
<p>To make BlockingWriter work as expected, we must add this impl.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.write" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#240-242">source</a><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingWrite.html#tymethod.write" class="fn">write</a>(&mut self, bs: &dyn <a class="trait" href="trait.WriteBuf.html" title="trait opendal::raw::oio::WriteBuf">Writ [...]
A: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/alloc/trait.Allocator.html" title="trait core::alloc::Allocator">Allocator</a>,
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html#associatedtype.Target" class="asso [...]
- T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/boxed.rs.html#2435">source</a><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/boxed.rs.html#2435">source</a><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
work as expected, we must add this impl.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#141-143">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">poll_read</a>(
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#140-142">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">poll_read</a>(
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="meth [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="meth [...]
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="togg [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="togg [...]
To make Streamer work as expected, we must add this impl.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_next-2" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/stream/api.rs.html#63-65">source</a><a href="#method.poll_next-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Stream.html#tymethod.poll_next" class="fn">poll_next</a>(&mut self, cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct [...]
<p>To make Writer work as expected, we must add this impl.</p>
diff --git a/docs/rust/opendal/raw/oio/type.Streamer.html b/docs/rust/opendal/raw/oio/type.Streamer.html
index 27468966c..527bb501b 100644
--- a/docs/rust/opendal/raw/oio/type.Streamer.html
+++ b/docs/rust/opendal/raw/oio/type.Streamer.html
@@ -1,22 +1,22 @@
<!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="Streamer is a type erased `Stream`."><title>Streamer in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin hre [...]
-</div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Streamer(/* private fields */);</code></pre><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingList-for-Box%3CP%3E [...]
+</div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Streamer(/* private fields */);</code></pre><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingList-for-Box%3CP%3E [...]
To make BlockingReader work as expected, we must add this impl.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#436-438">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -& [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#427-429">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -& [...]
<p>To make BlockingWriter work as expected, we must add this impl.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.write" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#240-242">source</a><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingWrite.html#tymethod.write" class="fn">write</a>(&mut self, bs: &dyn <a class="trait" href="trait.WriteBuf.html" title="trait opendal::raw::oio::WriteBuf">Writ [...]
A: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/alloc/trait.Allocator.html" title="trait core::alloc::Allocator">Allocator</a>,
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html#associatedtype.Target" class="asso [...]
- T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/boxed.rs.html#2435">source</a><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/boxed.rs.html#2435">source</a><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
work as expected, we must add this impl.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#141-143">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">poll_read</a>(
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#140-142">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">poll_read</a>(
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="meth [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="meth [...]
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="togg [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="togg [...]
To make Streamer work as expected, we must add this impl.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_next-2" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/stream/api.rs.html#63-65">source</a><a href="#method.poll_next-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Stream.html#tymethod.poll_next" class="fn">poll_next</a>(&mut self, cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct [...]
<p>To make Writer work as expected, we must add this impl.</p>
diff --git a/docs/rust/opendal/raw/oio/type.Writer.html b/docs/rust/opendal/raw/oio/type.Writer.html
index 153b3d001..7e6702321 100644
--- a/docs/rust/opendal/raw/oio/type.Writer.html
+++ b/docs/rust/opendal/raw/oio/type.Writer.html
@@ -1,22 +1,22 @@
<!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="Writer is a type erased `Write`"><title>Writer in opendal::raw::oio - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../ [...]
-</div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Writer(/* private fields */);</code></pre><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingList-for-Box%3CP%3E" [...]
+</div></details><h2 id="aliased-type" class="small-section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct Writer(/* private fields */);</code></pre><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingList-for-Box%3CP%3E" [...]
To make BlockingReader work as expected, we must add this impl.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#436-438">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -& [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#427-429">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingRead.html#tymethod.read" class="fn">read</a>(&mut self, buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]) -& [...]
<p>To make BlockingWriter work as expected, we must add this impl.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.write" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/write/api.rs.html#240-242">source</a><a href="#method.write" class="anchor">§</a><h4 class="code-header">fn <a href="trait.BlockingWrite.html#tymethod.write" class="fn">write</a>(&mut self, bs: &dyn <a class="trait" href="trait.WriteBuf.html" title="trait opendal::raw::oio::WriteBuf">Writ [...]
A: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/alloc/trait.Allocator.html" title="trait core::alloc::Allocator">Allocator</a>,
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html#associatedtype.Target" class="asso [...]
- T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/boxed.rs.html#2435">source</a><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
+ T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/boxed.rs.html#2435">source</a><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
work as expected, we must add this impl.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#141-143">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">poll_read</a>(
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_read" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/read/api.rs.html#140-142">source</a><a href="#method.poll_read" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Read.html#tymethod.poll_read" class="fn">poll_read</a>(
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="meth [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="meth [...]
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="togg [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="togg [...]
To make Streamer work as expected, we must add this impl.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.poll_next-2" class="method trait-impl"><a class="src rightside" href="../../../src/opendal/raw/oio/stream/api.rs.html#63-65">source</a><a href="#method.poll_next-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Stream.html#tymethod.poll_next" class="fn">poll_next</a>(&mut self, cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct [...]
<p>To make Writer work as expected, we must add this impl.</p>
diff --git a/docs/rust/opendal/raw/struct.IncomingAsyncBody.html b/docs/rust/opendal/raw/struct.IncomingAsyncBody.html
index 5826daf88..149dc110f 100644
--- a/docs/rust/opendal/raw/struct.IncomingAsyncBody.html
+++ b/docs/rust/opendal/raw/struct.IncomingAsyncBody.html
@@ -5,15 +5,15 @@
</div></details><details class="toggle method-toggle" open><summary><section id="method.consume" class="method"><a class="src rightside" href="../../src/opendal/raw/http_util/body.rs.html#92-104">source</a><h4 class="code-header">pub async fn <a href="#method.consume" class="fn">consume</a>(self) -> <a class="type" href="../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.unit.html">()</a>></h4></ [...]
</div></details><details class="toggle method-toggle" open><summary><section id="method.bytes" class="method"><a class="src rightside" href="../../src/opendal/raw/http_util/body.rs.html#109-136">source</a><h4 class="code-header">pub async fn <a href="#method.bytes" class="fn">bytes</a>(self) -> <a class="type" href="../type.Result.html" title="type opendal::Result">Result</a><Bytes></h4></section></summary><div class="docblock"><p>Consume the response to bytes.</p>
<p>This code is Inspired from hyper’s <a href="https://docs.rs/hyper/latest/hyper/body/fn.to_bytes.html"><code>to_bytes</code></a>.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Read-for-IncomingAsyncBody" class="impl"><a class="src rightside" href="../../src/opendal/raw/http_util/body.rs.html#156-217">source</a><a href="#impl-Read-for-IncomingAsyncBody" class="anchor">§</a><h3 [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Read-for-IncomingAsyncBody" class="impl"><a class="src rightside" href="../../src/opendal/raw/http_util/body.rs.html#156-223">source</a><a href="#impl-Read-for-IncomingAsyncBody" class="anchor">§</a><h3 [...]
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="method. [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>>></h4></section></summary><div class='docblock'>Read bytes asynchronously.</div></details><details class="toggle method-toggle" open><summary><section id="method. [...]
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="oio/trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="tog [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="../type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="oio/trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="tog [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:// [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
@@ -75,8 +75,8 @@ function.</div></details><details class="toggle method-toggle" open><summary><se
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a><Target = T> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,
T: 'a + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
R: 'a,</span></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.deref_mut()</code> into the pipe
-function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-IncomingAsyncBody" class="impl"><a href="#impl-Pointable-for-IncomingAsyncBody" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class="anchor [...]
- T: <a class="trait" href="oio/trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../src/opendal/raw/oio/read/api.rs.html#191-193">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="oio/trait.ReadExt.html#method.read" class="fn">read</a><'a& [...]
+function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-IncomingAsyncBody" class="impl"><a href="#impl-Pointable-for-IncomingAsyncBody" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class="anchor [...]
+ T: <a class="trait" href="oio/trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../../src/opendal/raw/oio/read/api.rs.html#190-192">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="oio/trait.ReadExt.html#method.read" class="fn">read</a><'a& [...]
&'a mut self,
buf: &'a mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>>
) -> ReadToEndFuture<'a, Self></h4></section></summary><div class='docblock'>Build a future for <code>read_to_end</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-IncomingAsyncBody" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-IncomingAsyncBody" class="anchor">§</a><h3 class="code-header">impl&l [...]
diff --git a/docs/rust/opendal/raw/trait.Accessor.html b/docs/rust/opendal/raw/trait.Accessor.html
index 7eff45703..eeb1cb6dc 100644
--- a/docs/rust/opendal/raw/trait.Accessor.html
+++ b/docs/rust/opendal/raw/trait.Accessor.html
@@ -361,9 +361,10 @@ written size if operate successful.</p>
<ul>
<li>List non-exist dir should return Empty.</li>
</ul>
-</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-Accessor-for-Arc%3CT%3E" class="impl"><a class="src rightside" href="../../src/opendal/raw/accessor.rs.html#390-466">source</a><a href="#impl-Accessor-for-Arc%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="trait.Accessor.html" [...]
+</div></details></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-Accessor-for-()" class="impl"><a class="src rightside" href="../../src/opendal/raw/accessor.rs.html#368-385">source</a><a href="#impl-Accessor-for-()" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Accessor.html" title="trait opendal: [...]
+</div><div class="impl-items"><section id="associatedtype.Reader-1" class="associatedtype trait-impl"><a href="#associatedtype.Reader-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Reader" class="associatedtype">Reader</a> = <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.unit.html">()</a></h4></section><section id="associatedtype.BlockingReader-1" class="associatedtype trait-impl"><a href="#associatedtype.BlockingReader-1" class="a [...]
<code>Accessor</code> for <code>Arc<dyn Accessor></code>.</p>
-</div><div class="impl-items"><section id="associatedtype.Reader-1" class="associatedtype trait-impl"><a href="#associatedtype.Reader-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Reader" class="associatedtype">Reader</a> = <T as <a class="trait" href="trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a>>::<a class="associatedtype" href="trait.Accessor.html#associatedtype.Reader" title="type opendal::raw::Accessor::Reader">Reader</a> [...]
+</div><div class="impl-items"><section id="associatedtype.Reader-2" class="associatedtype trait-impl"><a href="#associatedtype.Reader-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Reader" class="associatedtype">Reader</a> = <T as <a class="trait" href="trait.Accessor.html" title="trait opendal::raw::Accessor">Accessor</a>>::<a class="associatedtype" href="trait.Accessor.html#associatedtype.Reader" title="type opendal::raw::Accessor::Reader">Reader</a> [...]
&'life0 self,
path: &'life1 <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>,
args: <a class="struct" href="struct.OpCreateDir.html" title="struct opendal::raw::OpCreateDir">OpCreateDir</a>
@@ -456,5 +457,4 @@ written size if operate successful.</p>
&self,
path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>,
args: <a class="struct" href="struct.OpList.html" title="struct opendal::raw::OpList">OpList</a>
-) -> <a class="type" href="../type.Result.html" title="type opendal::Result">Result</a><(<a class="struct" href="struct.RpList.html" title="struct opendal::raw::RpList">RpList</a>, Self::<a class="associatedtype" href="trait.Accessor.html#associatedtype.BlockingLister" title="type opendal::raw::Accessor::BlockingLister">BlockingLister</a>)></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Accessor-for-()" class="impl"><a class= [...]
-</div><div class="impl-items"><section id="associatedtype.Reader-2" class="associatedtype trait-impl"><a href="#associatedtype.Reader-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Reader" class="associatedtype">Reader</a> = <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.unit.html">()</a></h4></section><section id="associatedtype.BlockingReader-2" class="associatedtype trait-impl"><a href="#associatedtype.BlockingReader-2" class="a [...]
\ No newline at end of file
+) -> <a class="type" href="../type.Result.html" title="type opendal::Result">Result</a><(<a class="struct" href="struct.RpList.html" title="struct opendal::raw::RpList">RpList</a>, Self::<a class="associatedtype" href="trait.Accessor.html#associatedtype.BlockingLister" title="type opendal::raw::Accessor::BlockingLister">BlockingLister</a>)></h4></section></div></details><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h [...]
\ No newline at end of file
diff --git a/docs/rust/opendal/struct.BlockingReader.html b/docs/rust/opendal/struct.BlockingReader.html
index 24a692cbb..7deba0617 100644
--- a/docs/rust/opendal/struct.BlockingReader.html
+++ b/docs/rust/opendal/struct.BlockingReader.html
@@ -1,13 +1,13 @@
<!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="BlockingReader is designed to read data from given path in an blocking manner."><title>BlockingReader in opendal - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" [...]
manner.</p>
-</div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingRead-for-BlockingReader" class="impl"><a class="src rightside" href="../src/opendal/types/reader.rs.html#201-216">source</a><a href="#impl-BlockingRead-for-BlockingReader" class="anchor">§</a><h3 class="code-header"> [...]
+</div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BlockingRead-for-BlockingReader" class="impl"><a class="src rightside" href="../src/opendal/types/reader.rs.html#201-216">source</a><a href="#impl-BlockingRead-for-BlockingReader" class="anchor">§</a><h3 class="code-header"> [...]
&mut self
) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><[Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.array.html">N</a>], <a class="struct" href="https://doc.rust-lang.org/ [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_next_chunk</code>)</span></div></span><div class='docblock'>Advances the iterator and returns an array containing the next <code>N</code> values. <a href="https://doc.rust-lang.org/1 [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Consumes the iterator, counting the number of iterations and returning it. <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#method.count">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.last" class="method [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Consumes the iterator, returning the last element. <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#method.last">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.advance_by" class="method trait-impl"><a clas [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Creates an iterator starting at the same point, but stepping by
-the given amount at each iteration. <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#method.step_by">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.chain-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/iter/traits/iterator.rs.html#520-523">source</a></span [...]
+the given amount at each iteration. <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#method.step_by">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.chain" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/iter/traits/iterator.rs.html#520-523">source</a></span>< [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>>,</span></h4></section></summary><div class='docblock'>Takes two iterators and creates a [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
@@ -36,7 +36,7 @@ their documentation for more information. <a href="https://doc.rust-lang.org/1.7
P: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a>,</span></h4></section></summary [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>& [...]
- Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Creates an iterator that skips the first <code>n</code> elements. <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#method.skip">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.take-1" class="method trait-im [...]
+ Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Creates an iterator that skips the first <code>n</code> elements. <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#method.skip">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.take" class="method trait-impl [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Creates an iterator that yields the first <code>n</code> elements, or fewer
if the underlying iterator ends sooner. <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#method.take">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.scan" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/iter/traits/iterator.rs.html#1461-1464">source</a></span [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
@@ -53,7 +53,7 @@ unlike <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait
the windows during mapping overlap as well. <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#method.map_windows">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.fuse" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/iter/traits/iterator.rs.html#1813-1815">sourc [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Creates an iterator which ends after the first <a href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html#variant.None" title="variant core::option::Option::None"><code>None</code></a>. <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#method.fuse" [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
- F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>),</span></h4></section></summary><div class='docblock'>Does something with each element of an iterator, passing the value on. <a hre [...]
+ F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>),</span></h4></section></summary><div class='docblock'>Does something with each element of an iterator, passing the value on. <a hre [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Borrows an iterator, rather than consuming it. <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#method.by_ref">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.collect" class="method trait-impl"><span class= [...]
B: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/iter/traits/collect/trait.FromIterator.html" title="trait core::iter::traits::collect::FromIterator">FromIterator</a><Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Transforms an iterator into a collection. <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#method.collect">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_collect" class="method trait-impl"><a class="sr [...]
@@ -186,14 +186,14 @@ greater than or equal to those of another. <a href="https://doc.rust-lang.org/1.
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -> K,
K: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><K>,</span></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>is_sorted</code>)</span></div></span><div class='docblock'>Checks if the elements of this iterator are sorted using the given key extraction
-function. <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Read-for-BlockingReader" class="impl"><a class="src rightside" href="../src/opendal/types/reader.rs.html#218-223">source</a><a href="#impl-Read-for-BlockingReader" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc. [...]
+function. <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Read-for-BlockingReader" class="impl"><a class="src rightside" href="../src/opendal/types/reader.rs.html#218-223">source</a><a href="#impl-Read-for-BlockingReader" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc. [...]
how many bytes were read. <a href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html#tymethod.read">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_vectored" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.36.0">1.36.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/std/io/mod.rs.html#708">source</a></span><a href="#method.read_vectored" class="ancho [...]
-implementation. <a href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html#method.is_read_vectored">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_to_end" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/std/io/mod.rs.html#772">source</a></span><a href="#method.read_to_end" class="anchor">§</ [...]
+implementation. <a href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html#method.is_read_vectored">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_to_end-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/std/io/mod.rs.html#772">source</a></span><a href="#method.read_to_end-1" class="anchor" [...]
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Creates a “by reference” adaptor for this instance of <code>Read</code>. <a href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html#method.by_ref">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.bytes" class="method trait-impl"><span class [...]
- Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Transforms this <code>Read</code> instance to an <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator"><code>Iterator</code></a> over its bytes. <a href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html# [...]
+ Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Transforms this <code>Read</code> instance to an <a href="https://doc.rust-lang.org/1.74.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator"><code>Iterator</code></a> over its bytes. <a href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html# [...]
R: <a class="trait" href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html" title="trait std::io::Read">Read</a>,
- Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Creates an adapter which will chain this stream with another. <a href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html#method.chain">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.take" class="method trait-impl"><span class="rightside"> [...]
- Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Creates an adapter which will read at most <code>limit</code> bytes from it. <a href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html#method.take">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Seek-for-BlockingReade [...]
+ Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Creates an adapter which will chain this stream with another. <a href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html#method.chain">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.take-1" class="method trait-impl"><span class="rightside [...]
+ Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Creates an adapter which will read at most <code>limit</code> bytes from it. <a href="https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html#method.take">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Seek-for-BlockingReade [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:// [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
diff --git a/docs/rust/opendal/struct.Error.html b/docs/rust/opendal/struct.Error.html
index 2ed136e69..5b53299c6 100644
--- a/docs/rust/opendal/struct.Error.html
+++ b/docs/rust/opendal/struct.Error.html
@@ -68,8 +68,8 @@ Backtrace:
<p>By setting persistent, we indicate the retry should be stopped.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.kind" class="method"><a class="src rightside" href="../src/opendal/types/error.rs.html#406-408">source</a><h4 class="code-header">pub fn <a href="#method.kind" class="fn">kind</a>(&self) -> <a class="enum" href="enum.ErrorKind.html" title="enum opendal::ErrorKind">ErrorKind</a></h4></section></summary><div class="docblock"><p>Return error’s kind.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_temporary" class="method"><a class="src rightside" href="../src/opendal/types/error.rs.html#411-413">source</a><h4 class="code-header">pub fn <a href="#method.is_temporary" class="fn">is_temporary</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Check if this error is temporary.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Error" class="impl"><a class="src rightside" href="../src/opendal/types/error.rs.html#277-317">source</a><a href="#impl-Debug-for-Error" class="anchor">§</a><h3 class="code-header">impl <a cla [...]
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl"><a class="src rightside" href="../src/opendal/services/sftp/error.rs.html#50-52">source</a><a href="#method.from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: SshError) -> Self</h4></section></summary><div class='docblock'>Converts to this [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Error" class="impl"><a class="src rightside" href="../src/opendal/types/error.rs.html#277-317">source</a><a href="#impl-Debug-for-Error" class="anchor">§</a><h3 class="code-header">impl <a cla [...]
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl"><a class="src rightside" href="../src/opendal/services/sftp/error.rs.html#50-52">source</a><a href="#method.from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: SshError) -> Self</h4></section></summary><div class='docblock'>Converts to this [...]
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href= [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https:// [...]
T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href=" [...]
diff --git a/docs/rust/opendal/struct.Operator.html b/docs/rust/opendal/struct.Operator.html
index a2e662c77..65bcbd9f5 100644
--- a/docs/rust/opendal/struct.Operator.html
+++ b/docs/rust/opendal/struct.Operator.html
@@ -33,7 +33,7 @@ Limit is usually the maximum size of data that operator will handle in one opera
<span class="kw">let </span>info = op.info();</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.blocking" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#130-132">source</a><h4 class="code-header">pub fn <a href="#method.blocking" class="fn">blocking</a>(&self) -> <a class="struct" href="struct.BlockingOperator.html" title="struct opendal::BlockingOperator">BlockingOperator</a></h4></section></summary><div class="docblock"><p>Create a new block [...]
<p>This operation is nearly no cost.</p>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Operator-1" class="impl"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#136-1274">source</a><a href="#impl-Operator-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Operator.html" title="struct opendal::Operator">Operator</a></h3></section></summary><div class="docblock"><p>Operator async API.</p>
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Operator-1" class="impl"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#136-1288">source</a><a href="#impl-Operator-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Operator.html" title="struct opendal::Operator">Operator</a></h3></section></summary><div class="docblock"><p>Operator async API.</p>
</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.check" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#152-159">source</a><h4 class="code-header">pub async fn <a href="#method.check" class="fn">check</a>(&self) -> <a class="type" href="type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.unit.html">()</ [...]
<p>We will send a <code>list</code> request to path and return any errors we met.</p>
@@ -98,19 +98,19 @@ a trailing / in the path. Failure to do so may result in
reading data lazily, please use <a href="struct.Operator.html#method.reader" title="method opendal::Operator::reader"><code>Operator::reader</code></a></p>
<h5 id="examples-5"><a href="#examples-5">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>bs = op.read(<span class="string">"path/to/file"</span>).<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.read_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#351-382">source</a><h4 class="code-header">pub fn <a href="#method.read_with" class="fn">read_with</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="struct" href="operator_futures/struct.FutureRead.html" title="stru [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.read_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#351-396">source</a><h4 class="code-header">pub fn <a href="#method.read_with" class="fn">read_with</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="struct" href="operator_futures/struct.FutureRead.html" title="stru [...]
<p>This function will allocate a new bytes internally. For more precise memory control or
reading data lazily, please use <a href="struct.Operator.html#method.reader" title="method opendal::Operator::reader"><code>Operator::reader</code></a></p>
<h5 id="examples-6"><a href="#examples-6">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>bs = op.read_with(<span class="string">"path/to/file"</span>).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw">let </span>bs = op.read_with(<span class="string">"path/to/file"</span>).range(<span class="number">0</span>..<span class="number">10</span>).<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.reader" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#399-401">source</a><h4 class="code-header">pub async fn <a href="#method.reader" class="fn">reader</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="type" href="type.Result.html" title="type opendal::Result">Result</a> [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.reader" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#413-415">source</a><h4 class="code-header">pub async fn <a href="#method.reader" class="fn">reader</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="type" href="type.Result.html" title="type opendal::Result">Result</a> [...]
<h5 id="examples-7"><a href="#examples-7">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>r = op.reader(<span class="string">"path/to/file"</span>).<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.reader_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#418-444">source</a><h4 class="code-header">pub fn <a href="#method.reader_with" class="fn">reader_with</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="struct" href="operator_futures/struct.FutureReader.html" tit [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.reader_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#432-458">source</a><h4 class="code-header">pub fn <a href="#method.reader_with" class="fn">reader_with</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="struct" href="operator_futures/struct.FutureReader.html" tit [...]
<h5 id="examples-8"><a href="#examples-8">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>r = op.reader_with(<span class="string">"path/to/file"</span>).range((<span class="number">0</span>..<span class="number">10</span>)).<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.write" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#467-470">source</a><h4 class="code-header">pub async fn <a href="#method.write" class="fn">write</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>, bs: impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.write" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#481-484">source</a><h4 class="code-header">pub async fn <a href="#method.write" class="fn">write</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>, bs: impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into [...]
<h5 id="notes-3"><a href="#notes-3">Notes</a></h5>
<ul>
<li>Write will make sure all bytes has been written, or an error will be returned.</li>
@@ -119,7 +119,7 @@ reading data lazily, please use <a href="struct.Operator.html#method.reader" tit
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>bytes::Bytes;
op.write(<span class="string">"path/to/file"</span>, <span class="macro">vec!</span>[<span class="number">0</span>; <span class="number">4096</span>]).<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.copy" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#493-529">source</a><h4 class="code-header">pub async fn <a href="#method.copy" class="fn">copy</a>(&self, from: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>, to: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.copy" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#507-543">source</a><h4 class="code-header">pub async fn <a href="#method.copy" class="fn">copy</a>(&self, from: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>, to: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html [...]
<h5 id="notes-4"><a href="#notes-4">Notes</a></h5>
<ul>
<li><code>from</code> and <code>to</code> must be a file.</li>
@@ -130,7 +130,7 @@ op.write(<span class="string">"path/to/file"</span>, <span class="macr
<h5 id="examples-10"><a href="#examples-10">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
op.copy(<span class="string">"path/to/file"</span>, <span class="string">"path/to/file2"</span>).<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.rename" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#551-587">source</a><h4 class="code-header">pub async fn <a href="#method.rename" class="fn">rename</a>(&self, from: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>, to: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.st [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.rename" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#565-601">source</a><h4 class="code-header">pub async fn <a href="#method.rename" class="fn">rename</a>(&self, from: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>, to: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.st [...]
<h5 id="notes-5"><a href="#notes-5">Notes</a></h5>
<ul>
<li><code>from</code> and <code>to</code> must be a file.</li>
@@ -140,7 +140,7 @@ op.copy(<span class="string">"path/to/file"</span>, <span class="strin
<h5 id="examples-11"><a href="#examples-11">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
op.rename(<span class="string">"path/to/file"</span>, <span class="string">"path/to/file2"</span>).<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.writer" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#611-613">source</a><h4 class="code-header">pub async fn <a href="#method.writer" class="fn">writer</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="type" href="type.Result.html" title="type opendal::Result">Result</a> [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.writer" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#625-627">source</a><h4 class="code-header">pub async fn <a href="#method.writer" class="fn">writer</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="type" href="type.Result.html" title="type opendal::Result">Result</a> [...]
<p>Refer to <a href="struct.Writer.html" title="struct opendal::Writer"><code>Writer</code></a> for more details.</p>
<h5 id="examples-12"><a href="#examples-12">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>bytes::Bytes;
@@ -149,7 +149,7 @@ op.rename(<span class="string">"path/to/file"</span>, <span class="str
w.write(<span class="macro">vec!</span>[<span class="number">0</span>; <span class="number">4096</span>]).<span class="kw">await</span><span class="question-mark">?</span>;
w.write(<span class="macro">vec!</span>[<span class="number">1</span>; <span class="number">4096</span>]).<span class="kw">await</span><span class="question-mark">?</span>;
w.close().<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.writer_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#640-666">source</a><h4 class="code-header">pub fn <a href="#method.writer_with" class="fn">writer_with</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="struct" href="operator_futures/struct.FutureWriter.html" tit [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.writer_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#654-680">source</a><h4 class="code-header">pub fn <a href="#method.writer_with" class="fn">writer_with</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="struct" href="operator_futures/struct.FutureWriter.html" tit [...]
<p>Refer to <a href="struct.Writer.html" title="struct opendal::Writer"><code>Writer</code></a> for more details.</p>
<h5 id="examples-13"><a href="#examples-13">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>bytes::Bytes;
@@ -161,7 +161,7 @@ w.close().<span class="kw">await</span><span class="question-mark">?</span>;</co
w.write(<span class="macro">vec!</span>[<span class="number">0</span>; <span class="number">4096</span>]).<span class="kw">await</span><span class="question-mark">?</span>;
w.write(<span class="macro">vec!</span>[<span class="number">1</span>; <span class="number">4096</span>]).<span class="kw">await</span><span class="question-mark">?</span>;
w.close().<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.write_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#691-725">source</a><h4 class="code-header">pub fn <a href="#method.write_with" class="fn">write_with</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>, bs: impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/t [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.write_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#705-739">source</a><h4 class="code-header">pub fn <a href="#method.write_with" class="fn">write_with</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>, bs: impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/t [...]
<h5 id="notes-6"><a href="#notes-6">Notes</a></h5>
<ul>
<li>Write will make sure all bytes has been written, or an error will be returned.</li>
@@ -174,14 +174,14 @@ w.close().<span class="kw">await</span><span class="question-mark">?</span>;</co
.write_with(<span class="string">"path/to/file"</span>, bs)
.content_type(<span class="string">"text/plain"</span>)
.<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.delete" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#745-747">source</a><h4 class="code-header">pub async fn <a href="#method.delete" class="fn">delete</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="type" href="type.Result.html" title="type opendal::Result">Result</a> [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.delete" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#759-761">source</a><h4 class="code-header">pub async fn <a href="#method.delete" class="fn">delete</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="type" href="type.Result.html" title="type opendal::Result">Result</a> [...]
<h5 id="notes-7"><a href="#notes-7">Notes</a></h5>
<ul>
<li>Deleting a file that does not exist won’t return errors.</li>
</ul>
<h5 id="examples-15"><a href="#examples-15">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code>op.delete(<span class="string">"test"</span>).<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.delete_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#768-786">source</a><h4 class="code-header">pub fn <a href="#method.delete_with" class="fn">delete_with</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="struct" href="operator_futures/struct.FutureDelete.html" tit [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.delete_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#782-800">source</a><h4 class="code-header">pub fn <a href="#method.delete_with" class="fn">delete_with</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="struct" href="operator_futures/struct.FutureDelete.html" tit [...]
<h5 id="notes-8"><a href="#notes-8">Notes</a></h5>
<ul>
<li>Deleting a file that does not exist won’t return errors.</li>
@@ -189,13 +189,13 @@ w.close().<span class="kw">await</span><span class="question-mark">?</span>;</co
<h5 id="examples-16"><a href="#examples-16">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
op.delete_with(<span class="string">"test"</span>).<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.remove" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#808-810">source</a><h4 class="code-header">pub async fn <a href="#method.remove" class="fn">remove</a>(&self, paths: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/1.74.0 [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.remove" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#822-824">source</a><h4 class="code-header">pub async fn <a href="#method.remove" class="fn">remove</a>(&self, paths: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/1.74.0 [...]
<p>If underlying services support delete in batch, we will use batch
delete instead.</p>
<h5 id="examples-17"><a href="#examples-17">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code>op.remove(<span class="macro">vec!</span>[<span class="string">"abc"</span>.to_string(), <span class="string">"def"</span>.to_string()])
.<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.remove_via" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#838-867">source</a><h4 class="code-header">pub async fn <a href="#method.remove_via" class="fn">remove_via</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.remove_via" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#852-881">source</a><h4 class="code-header">pub async fn <a href="#method.remove_via" class="fn">remove_via</a>(
&self,
input: impl Stream<Item = <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>
) -> <a class="type" href="type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.unit.html">()</a>></h4></section></summary><div class="docblock"><p>remove will remove files via the given paths.</p>
@@ -208,13 +208,13 @@ delete instead.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>futures::stream;
<span class="kw">let </span>stream = stream::iter(<span class="macro">vec!</span>[<span class="string">"abc"</span>.to_string(), <span class="string">"def"</span>.to_string()]);
op.remove_via(stream).<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.remove_all" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#889-937">source</a><h4 class="code-header">pub async fn <a href="#method.remove_all" class="fn">remove_all</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="type" href="type.Result.html" title="type opendal::Result [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.remove_all" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#903-951">source</a><h4 class="code-header">pub async fn <a href="#method.remove_all" class="fn">remove_all</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="type" href="type.Result.html" title="type opendal::Result [...]
<h5 id="notes-11"><a href="#notes-11">Notes</a></h5>
<p>If underlying services support delete in batch, we will use batch
delete instead.</p>
<h5 id="examples-19"><a href="#examples-19">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code>op.remove_all(<span class="string">"path/to/dir"</span>).<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.list" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#987-989">source</a><h4 class="code-header">pub async fn <a href="#method.list" class="fn">list</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="type" href="type.Result.html" title="type opendal::Result">Result</a><<a [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.list" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1001-1003">source</a><h4 class="code-header">pub async fn <a href="#method.list" class="fn">list</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="type" href="type.Result.html" title="type opendal::Result">Result</a>< [...]
<h5 id="notes-12"><a href="#notes-12">Notes</a></h5><h6 id="listing-recursively"><a href="#listing-recursively">Listing recursively</a></h6>
<p>This function only read the children of the given directory. To read
all entries recursively, use <code>Operator::list_with("path").recursive(true)</code>
@@ -244,7 +244,7 @@ For fetching more metadata, please use <a href="struct.Operator.html#method.list
EntryMode::Unknown => <span class="kw">continue</span>,
}
}</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.list_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1070-1097">source</a><h4 class="code-header">pub fn <a href="#method.list_with" class="fn">list_with</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="struct" href="operator_futures/struct.FutureList.html" title="st [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.list_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1084-1111">source</a><h4 class="code-header">pub fn <a href="#method.list_with" class="fn">list_with</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="struct" href="operator_futures/struct.FutureList.html" title="st [...]
<h5 id="notes-13"><a href="#notes-13">Notes</a></h5><h6 id="for-streaming"><a href="#for-streaming">For streaming</a></h6>
<p>This function will read all entries in the given directory. It could
take very long time and consume a lot of memory if the directory
@@ -296,7 +296,7 @@ For fetching more metadata, please specify the <code>metakey</code>.</p>
EntryMode::Unknown => <span class="kw">continue</span>,
}
}</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.lister" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1144-1146">source</a><h4 class="code-header">pub async fn <a href="#method.lister" class="fn">lister</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="type" href="type.Result.html" title="type opendal::Result">Result</ [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.lister" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1158-1160">source</a><h4 class="code-header">pub async fn <a href="#method.lister" class="fn">lister</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="type" href="type.Result.html" title="type opendal::Result">Result</ [...]
<p>This function will create a new handle to list entries.</p>
<p>An error will be returned if given path doesn’t end with <code>/</code>.</p>
<h5 id="notes-14"><a href="#notes-14">Notes</a></h5><h6 id="listing-recursively-1"><a href="#listing-recursively-1">Listing recursively</a></h6>
@@ -323,7 +323,7 @@ For fetching more metadata, please use <a href="struct.Operator.html#method.list
EntryMode::Unknown => <span class="kw">continue</span>,
}
}</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.lister_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1248-1273">source</a><h4 class="code-header">pub fn <a href="#method.lister_with" class="fn">lister_with</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="struct" href="operator_futures/struct.FutureLister.html" t [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.lister_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1262-1287">source</a><h4 class="code-header">pub fn <a href="#method.lister_with" class="fn">lister_with</a>(&self, path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -> <a class="struct" href="operator_futures/struct.FutureLister.html" t [...]
<p>This function will create a new handle to list entries.</p>
<p>An error will be returned if given path doesn’t end with <code>/</code>.</p>
<h5 id="examples-23"><a href="#examples-23">Examples</a></h5><h6 id="list-current-dir"><a href="#list-current-dir">List current dir</a></h6>
@@ -389,8 +389,8 @@ For fetching more metadata, please use <a href="struct.Operator.html#method.list
EntryMode::Unknown => <span class="kw">continue</span>,
}
}</code></pre></div>
-</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Operator-2" class="impl"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1277-1455">source</a><a href="#impl-Operator-2" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Operator.html" title="struct opendal::Operator">Operator</a></h3></section></summary><div class="docblock"><p>Operator presign API.</p>
-</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.presign_stat" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1299-1306">source</a><h4 class="code-header">pub async fn <a href="#method.presign_stat" class="fn">presign_stat</a>(
+</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Operator-2" class="impl"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1291-1469">source</a><a href="#impl-Operator-2" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Operator.html" title="struct opendal::Operator">Operator</a></h3></section></summary><div class="docblock"><p>Operator presign API.</p>
+</div><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.presign_stat" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1313-1320">source</a><h4 class="code-header">pub async fn <a href="#method.presign_stat" class="fn">presign_stat</a>(
&self,
path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>,
expire: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>
@@ -409,7 +409,7 @@ For fetching more metadata, please use <a href="struct.Operator.html#method.list
.uri(signed_req.uri())
.body(())<span class="question-mark">?</span>;
</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.presign_read" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1334-1341">source</a><h4 class="code-header">pub async fn <a href="#method.presign_read" class="fn">presign_read</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.presign_read" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1348-1355">source</a><h4 class="code-header">pub async fn <a href="#method.presign_read" class="fn">presign_read</a>(
&self,
path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>,
expire: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>
@@ -430,7 +430,7 @@ For fetching more metadata, please use <a href="struct.Operator.html#method.list
</ul>
<p>We can download this file via <code>curl</code> or other tools without credentials:</p>
<div class="example-wrap"><pre class="language-shell"><code>curl "https://s3.amazonaws.com/examplebucket/test.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=access_key_id/20130721/us-east-1/s3/aws4_request&X-Amz-Date=20130721T201207Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=<signature-value>" -O /tmp/test.txt
-</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.presign_read_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1364-1381">source</a><h4 class="code-header">pub fn <a href="#method.presign_read_with" class="fn">presign_read_with</a>(
+</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.presign_read_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1378-1395">source</a><h4 class="code-header">pub fn <a href="#method.presign_read_with" class="fn">presign_read_with</a>(
&self,
path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>,
expire: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>
@@ -448,7 +448,7 @@ For fetching more metadata, please use <a href="struct.Operator.html#method.list
.presign_read_with(<span class="string">"test.txt"</span>, Duration::from_secs(<span class="number">3600</span>))
.override_content_disposition(<span class="string">"attachment; filename=\"othertext.txt\""</span>)
.<span class="kw">await</span><span class="question-mark">?</span>;</code></pre></div>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.presign_write" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1409-1411">source</a><h4 class="code-header">pub async fn <a href="#method.presign_write" class="fn">presign_write</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.presign_write" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1423-1425">source</a><h4 class="code-header">pub async fn <a href="#method.presign_write" class="fn">presign_write</a>(
&self,
path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>,
expire: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>
@@ -469,7 +469,7 @@ For fetching more metadata, please use <a href="struct.Operator.html#method.list
</ul>
<p>We can upload file as this file via <code>curl</code> or other tools without credential:</p>
<div class="example-wrap"><pre class="language-shell"><code>curl -X PUT "https://s3.amazonaws.com/examplebucket/test.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=access_key_id/20130721/us-east-1/s3/aws4_request&X-Amz-Date=20130721T201207Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=<signature-value>" -d "Hello, World!"
-</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.presign_write_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1437-1454">source</a><h4 class="code-header">pub fn <a href="#method.presign_write_with" class="fn">presign_write_with</a>(
+</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.presign_write_with" class="method"><a class="src rightside" href="../src/opendal/types/operator/operator.rs.html#1451-1468">source</a><h4 class="code-header">pub fn <a href="#method.presign_write_with" class="fn">presign_write_with</a>(
&self,
path: &<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>,
expire: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>
diff --git a/docs/rust/opendal/struct.Reader.html b/docs/rust/opendal/struct.Reader.html
index 7b9bd5b72..281f395c2 100644
--- a/docs/rust/opendal/struct.Reader.html
+++ b/docs/rust/opendal/struct.Reader.html
@@ -17,7 +17,11 @@ want to do copy inside IO workers. They can use <code>Stream</code> to get a <co
and consume it in side CPU workers inside.</p>
<p>Besides, <code>Stream</code> <strong>COULD</strong> reduce an extra copy if underlying reader is
stream based (like services s3, azure which based on HTTP).</p>
-</div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncRead-for-Reader" class="impl"><a class="src rightside" href="../src/opendal/types/reader.rs.html#93-101">source</a><a href="#impl-AsyncRead-for-Reader" class="anchor">§</a><h3 class="code-header">impl AsyncRead for <a c [...]
+</div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncRead-for-Reader" class="impl"><a class="src rightside" href="../src/opendal/types/reader.rs.html#113-127">source</a><a href="#impl-AsyncRead-for-Reader" class="anchor">§</a><h3 class="code-header">impl AsyncRead for <a [...]
+ self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&mut Self</a>>,
+ cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
+ buf: &mut ReadBuf<'_>
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="https://doc.rust-lang.org/1.74.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.unit.html">()</a>>></h4></section></summary><div class='docblock'>Attempts to read from the <code>AsyncRead</code> into <code>buf</cod [...]
self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&mut Self</a>>,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
@@ -26,18 +30,14 @@ stream based (like services s3, azure which based on HTTP).</p>
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
bufs: &mut [<a class="struct" href="https://doc.rust-lang.org/1.74.0/std/io/struct.IoSliceMut.html" title="struct std::io::IoSliceMut">IoSliceMut</a><'_>]
) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>, <a class="struct" href="https://doc.rust-lang.org/1.74.0/std/io/error/struct.Error.html" title="struct std::io::error::E [...]
-IO operations. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncRead-for-Reader-1" class="impl"><a class="src rightside" href="../src/opendal/types/reader.rs.html#113-127">source</a><a href="#impl-AsyncRead-for-Reader-1" class="anchor">§</a><h3 class="code-header">impl AsyncRead for <a class="struct" href="struct.Reader.html" title="struct opendal::Reader">Reader</a></h3></section></summary><div class="impl-i [...]
+IO operations. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsyncSeek-for-Reader" class="impl"><a class="src rightside" href="../src/opendal/types/reader.rs.html#103-111">source</a><a href="#impl-AsyncSeek-for-Reader" class="anchor">§</a><h3 class="code-header">impl AsyncSeek for <a class="struct" href="struct.Reader.html" title="struct opendal::Reader">Reader</a></h3></section></summary><div class="impl-items [...]
self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&mut Self</a>>,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
- buf: &mut ReadBuf<'_>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="https://doc.rust-lang.org/1.74.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.unit.html">()</a>>></h4></section></summary><div class='docblock'>Attempts to read from the <code>AsyncRead</code> into <code>buf</cod [...]
+ pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="https://doc.rust-lang.org/1.74.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Attempt to seek to an offset, in bytes, in a stream. <a>Read more</a [...]
self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&mut Self</a>>,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="https://doc.rust-lang.org/1.74.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Waits for a seek operation to complete. <a>Read more</a></div></deta [...]
- self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&mut Self</a>>,
- cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
- pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="https://doc.rust-lang.org/1.74.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Attempt to seek to an offset, in bytes, in a stream. <a>Read more</a [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="https://doc.rust-lang.org/1.74.0/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Waits for a seek operation to complete. <a>Read more</a></div></deta [...]
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
buf: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>]
@@ -45,7 +45,7 @@ IO operations. <a>Read more</a></div></details></div></details><details class="t
&mut self,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>,
pos: <a class="enum" href="https://doc.rust-lang.org/1.74.0/std/io/enum.SeekFrom.html" title="enum std::io::SeekFrom">SeekFrom</a>
-) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="raw/oio/trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="to [...]
+) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="type" href="type.Result.html" title="type opendal::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>>></h4></section></summary><div class='docblock'>Seek asynchronously. <a href="raw/oio/trait.Read.html#tymethod.poll_seek">Read more</a></div></details><details class="to [...]
self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&mut Self</a>>,
cx: &mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a><'_>
) -> <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a><<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self::Item>></h4></section></summary><div class='docblock'>Attempt to pull out the next value of this stream, registering the
@@ -240,8 +240,8 @@ function.</div></details><details class="toggle method-toggle" open><summary><se
Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a><Target = T> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,
T: 'a + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
R: 'a,</span></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.deref_mut()</code> into the pipe
-function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-Reader" class="impl"><a href="#impl-Pointable-for-Reader" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class="anchor">§</a><h4 class="code [...]
- T: <a class="trait" href="raw/oio/trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../src/opendal/raw/oio/read/api.rs.html#191-193">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="raw/oio/trait.ReadExt.html#method.read" class="fn">read</a>&l [...]
+function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-Reader" class="impl"><a href="#impl-Pointable-for-Reader" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class="anchor">§</a><h4 class="code [...]
+ T: <a class="trait" href="raw/oio/trait.Read.html" title="trait opendal::raw::oio::Read">Read</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.read" class="method trait-impl"><a class="src rightside" href="../src/opendal/raw/oio/read/api.rs.html#190-192">source</a><a href="#method.read" class="anchor">§</a><h4 class="code-header">fn <a href="raw/oio/trait.ReadExt.html#method.read" class="fn">read</a>&l [...]
&'a mut self,
buf: &'a mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>>
) -> ReadToEndFuture<'a, Self></h4></section></summary><div class='docblock'>Build a future for <code>read_to_end</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ReadExt-for-Reader-1" class="impl"><a href="#impl-ReadExt-for-Reader-1" class="anchor">§</a><h3 class="code-header">impl<T> ReadExt for T<span class="where fmt-newline">where
diff --git a/docs/rust/search-index.js b/docs/rust/search-index.js
index 062544ee1..d83ae2c46 100644
--- a/docs/rust/search-index.js
+++ b/docs/rust/search-index.js
@@ -1,5 +1,5 @@
var searchIndex = JSON.parse('{\
-"opendal":{"doc":"OpenDAL is the Open Data Access Layer to <strong>freely</strong> access …","t":"QNNNNNNDDDDINNDNNNNNNNNNNNNNNNNNNDENDENNNNNNNNNNNNNNNNNNNDNNDENNNNNNNNNNDDDNNNNNDNNGNNSENNNNNNNNNNNNNDLMMMLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL [...]
+"opendal":{"doc":"OpenDAL is the Open Data Access Layer to <strong>freely</strong> access …","t":"QNNNNNNDDDDINNDNNNNNNNNNNNNNNNNNNDENDENNNNNNNNNNNNNNNNNNNDNNDENNNNNNNNNNDDDNNNNNDNNGNNSENNNNNNNNNNNNNDLMMMLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL [...]
}');
if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)};
if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex};
diff --git a/docs/rust/src/opendal/layers/complete.rs.html b/docs/rust/src/opendal/layers/complete.rs.html
index 6b1436e2c..86b612686 100644
--- a/docs/rust/src/opendal/layers/complete.rs.html
+++ b/docs/rust/src/opendal/layers/complete.rs.html
@@ -962,6 +962,7 @@
<a href="#962" id="962">962</a>
<a href="#963" id="963">963</a>
<a href="#964" id="964">964</a>
+<a href="#965" id="965">965</a>
</pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -1799,6 +1800,7 @@
<span class="kw">let </span>op = new_test_operator(Capability {
read: <span class="bool-val">true</span>,
+ stat: <span class="bool-val">true</span>,
..Default::default()
});
<span class="kw">let </span>res = op.read(<span class="string">"path"</span>).<span class="kw">await</span>;
diff --git a/docs/rust/src/opendal/raw/http_util/body.rs.html b/docs/rust/src/opendal/raw/http_util/body.rs.html
index ba3a9e240..4e459cbdc 100644
--- a/docs/rust/src/opendal/raw/http_util/body.rs.html
+++ b/docs/rust/src/opendal/raw/http_util/body.rs.html
@@ -215,6 +215,12 @@
<a href="#215" id="215">215</a>
<a href="#216" id="216">216</a>
<a href="#217" id="217">217</a>
+<a href="#218" id="218">218</a>
+<a href="#219" id="219">219</a>
+<a href="#220" id="220">220</a>
+<a href="#221" id="221">221</a>
+<a href="#222" id="222">222</a>
+<a href="#223" id="223">223</a>
</pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -376,13 +382,19 @@
<span class="kw">return </span>Poll::Ready(<span class="prelude-val">Ok</span>(<span class="number">0</span>));
}
- <span class="comment">// We must get a valid bytes from underlying stream
- </span><span class="kw">let </span><span class="kw-2">mut </span>bs = <span class="kw">loop </span>{
- <span class="kw">match </span><span class="macro">ready!</span>(<span class="self">self</span>.poll_next(cx)) {
- <span class="prelude-val">Some</span>(<span class="prelude-val">Ok</span>(bs)) <span class="kw">if </span>bs.is_empty() => <span class="kw">continue</span>,
- <span class="prelude-val">Some</span>(<span class="prelude-val">Ok</span>(bs)) => <span class="kw">break </span>bs,
- <span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(err)) => <span class="kw">return </span>Poll::Ready(<span class="prelude-val">Err</span>(err)),
- <span class="prelude-val">None </span>=> <span class="kw">return </span>Poll::Ready(<span class="prelude-val">Ok</span>(<span class="number">0</span>)),
+ <span class="comment">// Avoid extra poll of next if we already have chunks.
+ </span><span class="kw">let </span><span class="kw-2">mut </span>bs = <span class="kw">if let </span><span class="prelude-val">Some</span>(chunk) = <span class="self">self</span>.chunk.take() {
+ chunk
+ } <span class="kw">else </span>{
+ <span class="kw">loop </span>{
+ <span class="kw">match </span><span class="macro">ready!</span>(<span class="self">self</span>.poll_next(cx)) {
+ <span class="comment">// It's possible for underlying stream to return empty bytes, we should continue
+ // to fetch next one.
+ </span><span class="prelude-val">Some</span>(<span class="prelude-val">Ok</span>(bs)) <span class="kw">if </span>bs.is_empty() => <span class="kw">continue</span>,
+ <span class="prelude-val">Some</span>(<span class="prelude-val">Ok</span>(bs)) => <span class="kw">break </span>bs,
+ <span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(err)) => <span class="kw">return </span>Poll::Ready(<span class="prelude-val">Err</span>(err)),
+ <span class="prelude-val">None </span>=> <span class="kw">return </span>Poll::Ready(<span class="prelude-val">Ok</span>(<span class="number">0</span>)),
+ }
}
};
diff --git a/docs/rust/src/opendal/raw/oio/read/api.rs.html b/docs/rust/src/opendal/raw/oio/read/api.rs.html
index af713e1a4..9bfdfa18b 100644
--- a/docs/rust/src/opendal/raw/oio/read/api.rs.html
+++ b/docs/rust/src/opendal/raw/oio/read/api.rs.html
@@ -479,15 +479,6 @@
<a href="#479" id="479">479</a>
<a href="#480" id="480">480</a>
<a href="#481" id="481">481</a>
-<a href="#482" id="482">482</a>
-<a href="#483" id="483">483</a>
-<a href="#484" id="484">484</a>
-<a href="#485" id="485">485</a>
-<a href="#486" id="486">486</a>
-<a href="#487" id="487">487</a>
-<a href="#488" id="488">488</a>
-<a href="#489" id="489">489</a>
-<a href="#490" id="490">490</a>
</pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -505,8 +496,7 @@
// specific language governing permissions and limitations
// under the License.
-</span><span class="kw">use </span>std::cmp;
-<span class="kw">use </span>std::fmt::Display;
+</span><span class="kw">use </span>std::fmt::Display;
<span class="kw">use </span>std::fmt::Formatter;
<span class="kw">use </span>std::io;
<span class="kw">use </span>std::pin::Pin;
@@ -694,14 +684,7 @@
<span class="doccomment">/// Build a future for `read_to_end`.
</span><span class="kw">fn </span>read_to_end<<span class="lifetime">'a</span>>(<span class="kw-2">&</span><span class="lifetime">'a </span><span class="kw-2">mut </span><span class="self">self</span>, buf: <span class="kw-2">&</span><span class="lifetime">'a </span><span class="kw-2">mut </span>Vec<u8>) -> ReadToEndFuture<<span class="lifetime">'a</span>, <span class="self">Self</span>> {
- <span class="kw">let </span>start = buf.len();
- ReadToEndFuture {
- reader: <span class="self">self</span>,
- buf,
- start,
- length: start,
- next: MIN_READ_TO_END_GROW_SIZE,
- }
+ ReadToEndFuture { reader: <span class="self">self</span>, buf }
}
}
@@ -761,19 +744,11 @@
}
}
-<span class="doccomment">/// The MIN read to end grow size.
-</span><span class="kw">const </span>MIN_READ_TO_END_GROW_SIZE: usize = <span class="number">8 </span>* <span class="number">1024</span>;
-<span class="doccomment">/// The MAX read to end grow size.
-</span><span class="kw">const </span>MAX_READ_TO_END_GROW_SIZE: usize = <span class="number">4 </span>* <span class="number">1024 </span>* <span class="number">1024</span>;
-
<span class="doccomment">/// Make this future `!Unpin` for compatibility with async trait methods.
</span><span class="attr">#[pin_project(!Unpin)]
</span><span class="kw">pub struct </span>ReadToEndFuture<<span class="lifetime">'a</span>, R: Read + Unpin + <span class="question-mark">?</span>Sized> {
reader: <span class="kw-2">&</span><span class="lifetime">'a </span><span class="kw-2">mut </span>R,
buf: <span class="kw-2">&</span><span class="lifetime">'a </span><span class="kw-2">mut </span>Vec<u8>,
- start: usize,
- length: usize,
- next: usize,
}
<span class="kw">impl</span><R> Future <span class="kw">for </span>ReadToEndFuture<<span class="lifetime">'_</span>, R>
@@ -784,43 +759,50 @@
<span class="kw">fn </span>poll(<span class="self">self</span>: Pin<<span class="kw-2">&mut </span><span class="self">Self</span>>, cx: <span class="kw-2">&mut </span>Context<<span class="lifetime">'_</span>>) -> Poll<<span class="prelude-ty">Result</span><usize>> {
<span class="kw">let </span>this = <span class="self">self</span>.project();
+ <span class="kw">let </span>start_len = this.buf.len();
+ <span class="kw">let </span>start_cap = this.buf.capacity();
<span class="kw">loop </span>{
- <span class="kw">if </span>this.buf.capacity() == <span class="kw-2">*</span>this.length {
- this.buf.reserve(<span class="kw-2">*</span>this.next);
- <span class="comment">// # Safety
- //
- // We make sure that the length of buf is maintained correctly.
- </span><span class="attr">#[allow(clippy::uninit_vec)]
- </span><span class="kw">unsafe </span>{
- this.buf.set_len(this.buf.capacity());
- }
+ <span class="kw">if </span>this.buf.len() == this.buf.capacity() {
+ this.buf.reserve(<span class="number">32</span>); <span class="comment">// buf is full, need more space
+ </span>}
+
+ <span class="kw">let </span>spare = this.buf.spare_capacity_mut();
+ <span class="kw">let </span><span class="kw-2">mut </span>read_buf: ReadBuf = ReadBuf::uninit(spare);
+
+ <span class="comment">// SAFETY: These bytes were initialized but not filled in the previous loop
+ </span><span class="kw">unsafe </span>{
+ read_buf.assume_init(read_buf.capacity());
}
- <span class="kw">let </span>buf = <span class="kw-2">&mut </span>this.buf[<span class="kw-2">*</span>this.length..];
- <span class="kw">match </span><span class="macro">ready!</span>(this.reader.poll_read(cx, buf)) {
+ <span class="kw">match </span><span class="macro">ready!</span>(this.reader.poll_read(cx, read_buf.initialize_unfilled())) {
<span class="prelude-val">Ok</span>(<span class="number">0</span>) => {
- <span class="kw">unsafe </span>{
- this.buf.set_len(<span class="kw-2">*</span>this.length);
- }
- <span class="kw">return </span>Poll::Ready(<span class="prelude-val">Ok</span>(<span class="kw-2">*</span>this.length - <span class="kw-2">*</span>this.start));
+ <span class="kw">return </span>Poll::Ready(<span class="prelude-val">Ok</span>(this.buf.len() - start_len));
}
<span class="prelude-val">Ok</span>(n) => {
- <span class="kw-2">*</span>this.next = <span class="kw">if </span>n >= <span class="kw-2">*</span>this.next {
- cmp::min((<span class="kw-2">*</span>this.next).saturating_mul(<span class="number">2</span>), MAX_READ_TO_END_GROW_SIZE)
- } <span class="kw">else if </span>n >= <span class="kw-2">*</span>this.next / <span class="number">2 </span>{
- <span class="kw-2">*</span>this.next
- } <span class="kw">else </span>{
- cmp::max((<span class="kw-2">*</span>this.next).saturating_div(<span class="number">2</span>), MIN_READ_TO_END_GROW_SIZE)
- };
- <span class="comment">// We can't allow bogus values from read. If it is too large, the returned vec could have its length
- // set past its capacity, or if it overflows the vec could be shortened which could create an invalid
- // string if this is called via read_to_string.
- </span><span class="macro">assert!</span>(n <= buf.len());
- <span class="kw-2">*</span>this.length += n;
+ <span class="comment">// SAFETY: Read API makes sure that returning `n` is correct.
+ </span><span class="kw">unsafe </span>{
+ this.buf.set_len(this.buf.len() + n);
+ }
}
<span class="prelude-val">Err</span>(e) => <span class="kw">return </span>Poll::Ready(<span class="prelude-val">Err</span>(e)),
}
+
+ <span class="comment">// The buffer might be an exact fit. Let's read into a probe buffer
+ // and see if it returns `Ok(0)`. If so, we've avoided an
+ // unnecessary doubling of the capacity. But if not, append the
+ // probe buffer to the primary buffer and let its capacity grow.
+ </span><span class="kw">if </span>this.buf.len() == this.buf.capacity() && this.buf.capacity() == start_cap {
+ <span class="kw">let </span><span class="kw-2">mut </span>probe = [<span class="number">0u8</span>; <span class="number">32</span>];
+
+ <span class="kw">match </span><span class="macro">ready!</span>(this.reader.poll_read(cx, <span class="kw-2">&mut </span>probe)) {
+ <span class="prelude-val">Ok</span>(<span class="number">0</span>) => <span class="kw">return </span>Poll::Ready(<span class="prelude-val">Ok</span>(this.buf.len() - start_len)),
+ <span class="prelude-val">Ok</span>(n) => {
+ this.buf.extend_from_slice(<span class="kw-2">&</span>probe[..n]);
+ }
+ <span class="prelude-val">Err</span>(e) => <span class="kw">return </span>Poll::Ready(<span class="prelude-val">Err</span>(e)),
+ }
+ }
}
}
}
diff --git a/docs/rust/src/opendal/services/http/backend.rs.html b/docs/rust/src/opendal/services/http/backend.rs.html
index 5a802380e..90787f17f 100644
--- a/docs/rust/src/opendal/services/http/backend.rs.html
+++ b/docs/rust/src/opendal/services/http/backend.rs.html
@@ -519,6 +519,28 @@
<a href="#519" id="519">519</a>
<a href="#520" id="520">520</a>
<a href="#521" id="521">521</a>
+<a href="#522" id="522">522</a>
+<a href="#523" id="523">523</a>
+<a href="#524" id="524">524</a>
+<a href="#525" id="525">525</a>
+<a href="#526" id="526">526</a>
+<a href="#527" id="527">527</a>
+<a href="#528" id="528">528</a>
+<a href="#529" id="529">529</a>
+<a href="#530" id="530">530</a>
+<a href="#531" id="531">531</a>
+<a href="#532" id="532">532</a>
+<a href="#533" id="533">533</a>
+<a href="#534" id="534">534</a>
+<a href="#535" id="535">535</a>
+<a href="#536" id="536">536</a>
+<a href="#537" id="537">537</a>
+<a href="#538" id="538">538</a>
+<a href="#539" id="539">539</a>
+<a href="#540" id="540">540</a>
+<a href="#541" id="541">541</a>
+<a href="#542" id="542">542</a>
+<a href="#543" id="543">543</a>
</pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -896,6 +918,11 @@
)
.mount(<span class="kw-2">&</span>mock_server)
.<span class="kw">await</span>;
+ Mock::given(method(<span class="string">"HEAD"</span>))
+ .and(path(<span class="string">"/hello"</span>))
+ .respond_with(ResponseTemplate::new(<span class="number">200</span>).insert_header(<span class="string">"content-length"</span>, <span class="string">"13"</span>))
+ .mount(<span class="kw-2">&</span>mock_server)
+ .<span class="kw">await</span>;
<span class="kw">let </span><span class="kw-2">mut </span>builder = HttpBuilder::default();
builder.endpoint(<span class="kw-2">&</span>mock_server.uri());
@@ -925,6 +952,12 @@
)
.mount(<span class="kw-2">&</span>mock_server)
.<span class="kw">await</span>;
+ Mock::given(method(<span class="string">"HEAD"</span>))
+ .and(path(<span class="string">"/hello"</span>))
+ .and(basic_auth(username, password))
+ .respond_with(ResponseTemplate::new(<span class="number">200</span>).insert_header(<span class="string">"content-length"</span>, <span class="string">"13"</span>))
+ .mount(<span class="kw-2">&</span>mock_server)
+ .<span class="kw">await</span>;
<span class="kw">let </span><span class="kw-2">mut </span>builder = HttpBuilder::default();
builder.endpoint(<span class="kw-2">&</span>mock_server.uri());
@@ -955,6 +988,12 @@
)
.mount(<span class="kw-2">&</span>mock_server)
.<span class="kw">await</span>;
+ Mock::given(method(<span class="string">"HEAD"</span>))
+ .and(path(<span class="string">"/hello"</span>))
+ .and(bearer_token(token))
+ .respond_with(ResponseTemplate::new(<span class="number">200</span>).insert_header(<span class="string">"content-length"</span>, <span class="string">"13"</span>))
+ .mount(<span class="kw-2">&</span>mock_server)
+ .<span class="kw">await</span>;
<span class="kw">let </span><span class="kw-2">mut </span>builder = HttpBuilder::default();
builder.endpoint(<span class="kw-2">&</span>mock_server.uri());
@@ -1005,6 +1044,11 @@
)
.mount(<span class="kw-2">&</span>mock_server)
.<span class="kw">await</span>;
+ Mock::given(method(<span class="string">"HEAD"</span>))
+ .and(path(<span class="string">"/hello"</span>))
+ .respond_with(ResponseTemplate::new(<span class="number">200</span>).insert_header(<span class="string">"content-length"</span>, <span class="string">"13"</span>))
+ .mount(<span class="kw-2">&</span>mock_server)
+ .<span class="kw">await</span>;
<span class="kw">let </span><span class="kw-2">mut </span>builder = HttpBuilder::default();
builder.endpoint(<span class="kw-2">&</span>mock_server.uri());
diff --git a/docs/rust/src/opendal/types/operator/operator.rs.html b/docs/rust/src/opendal/types/operator/operator.rs.html
index 9f4f06fd8..c8101480c 100644
--- a/docs/rust/src/opendal/types/operator/operator.rs.html
+++ b/docs/rust/src/opendal/types/operator/operator.rs.html
@@ -1453,6 +1453,20 @@
<a href="#1453" id="1453">1453</a>
<a href="#1454" id="1454">1454</a>
<a href="#1455" id="1455">1455</a>
+<a href="#1456" id="1456">1456</a>
+<a href="#1457" id="1457">1457</a>
+<a href="#1458" id="1458">1458</a>
+<a href="#1459" id="1459">1459</a>
+<a href="#1460" id="1460">1460</a>
+<a href="#1461" id="1461">1461</a>
+<a href="#1462" id="1462">1462</a>
+<a href="#1463" id="1463">1463</a>
+<a href="#1464" id="1464">1464</a>
+<a href="#1465" id="1465">1465</a>
+<a href="#1466" id="1466">1466</a>
+<a href="#1467" id="1467">1467</a>
+<a href="#1468" id="1468">1468</a>
+<a href="#1469" id="1469">1469</a>
</pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -1822,8 +1836,22 @@
.with_context(<span class="string">"path"</span>, <span class="kw-2">&</span>path));
}
+ <span class="kw">let </span>range = args.range();
+ <span class="kw">let </span>size_hint = <span class="kw">match </span>range.size() {
+ <span class="prelude-val">Some</span>(v) => v,
+ <span class="prelude-val">None </span>=> {
+ <span class="kw">let </span><span class="kw-2">mut </span>size = inner
+ .stat(<span class="kw-2">&</span>path, OpStat::default())
+ .<span class="kw">await</span><span class="question-mark">?
+ </span>.into_metadata()
+ .content_length();
+ size -= range.offset().unwrap_or(<span class="number">0</span>);
+ size
+ }
+ };
+
<span class="kw">let </span>(<span class="kw">_</span>, <span class="kw-2">mut </span>s) = inner.read(<span class="kw-2">&</span>path, args).<span class="kw">await</span><span class="question-mark">?</span>;
- <span class="kw">let </span><span class="kw-2">mut </span>buf = Vec::new();
+ <span class="kw">let </span><span class="kw-2">mut </span>buf = Vec::with_capacity(size_hint <span class="kw">as </span>usize);
s.read_to_end(<span class="kw-2">&mut </span>buf).<span class="kw">await</span><span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(buf)
diff --git a/docs/services/atomicserver/index.html b/docs/services/atomicserver/index.html
index 94e26d0a9..acda1e2a4 100644
--- a/docs/services/atomicserver/index.html
+++ b/docs/services/atomicserver/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">AtomicServer | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/atomicserver"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="cu [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/azblob/index.html b/docs/services/azblob/index.html
index dba23ad38..3b0f37ffe 100644
--- a/docs/services/azblob/index.html
+++ b/docs/services/azblob/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Azblob | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/azblob"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/azdls/index.html b/docs/services/azdls/index.html
index aaed63a2f..39cbe0308 100644
--- a/docs/services/azdls/index.html
+++ b/docs/services/azdls/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Azdls | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/azdls"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta d [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/cacache/index.html b/docs/services/cacache/index.html
index a31dbab38..1c9c3774e 100644
--- a/docs/services/cacache/index.html
+++ b/docs/services/cacache/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Cacache | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/cacache"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><me [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/cos/index.html b/docs/services/cos/index.html
index f65a34b6e..0df05a15d 100644
--- a/docs/services/cos/index.html
+++ b/docs/services/cos/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">COS | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/cos"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data- [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/d1/index.html b/docs/services/d1/index.html
index 6220da5fd..9eddd158d 100644
--- a/docs/services/d1/index.html
+++ b/docs/services/d1/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">D1 | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/d1"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/dashmap/index.html b/docs/services/dashmap/index.html
index c0a0781b9..e68a82e8f 100644
--- a/docs/services/dashmap/index.html
+++ b/docs/services/dashmap/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">DashMap | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/dashmap"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><me [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/dropbox/index.html b/docs/services/dropbox/index.html
index 4a544edb8..c9b4581f2 100644
--- a/docs/services/dropbox/index.html
+++ b/docs/services/dropbox/index.html
@@ -5,7 +5,7 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Dropbox | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/dropbox"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><me [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
@@ -15,8 +15,8 @@ Please notice its expiration.</li></ul><h4 class="anchor anchorWithStickyNavbar_
please provide the following fields:</p><ul><li><code>refresh_token</code>: set the refresh_token for dropbox api</li><li><code>client_id</code>: set the client_id for dropbox api</li><li><code>client_secret</code>: set the client_secret for dropbox api</li></ul><p>OpenDAL is a library, it cannot do the first step of OAuth2 for you.
You need to get authorization code from user by calling Dropbox's authorize url
and exchange it for refresh token.</p><p>Please refer to <a href="https://www.dropbox.com/developers/reference/oauth-guide" target="_blank" rel="noopener noreferrer">Dropbox OAuth2 Guide</a>
-for more information.</p><p>You can refer to <!-- -->[<code>DropboxBuilder</code>]<!-- -->'s docs for more information</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="via-builder">Via Builder<a href="#via-builder" class="hash-link" aria-label="Direct link to Via Builder" title="Direct link to Via Bu [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+for more information.</p><p>You can refer to <!-- -->[<code>DropboxBuilder</code>]<!-- -->'s docs for more information</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="via-builder">Via Builder<a href="#via-builder" class="hash-link" aria-label="Direct link to Via Builder" title="Direct link to Via Bu [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/etcd/index.html b/docs/services/etcd/index.html
index 8d408848c..937cd75db 100644
--- a/docs/services/etcd/index.html
+++ b/docs/services/etcd/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Etcd | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/etcd"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/foundationdb/index.html b/docs/services/foundationdb/index.html
index b9f373542..e7917d504 100644
--- a/docs/services/foundationdb/index.html
+++ b/docs/services/foundationdb/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">FoundationDB | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/foundationdb"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="cu [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/fs/index.html b/docs/services/fs/index.html
index ff7c81907..4915e0b58 100644
--- a/docs/services/fs/index.html
+++ b/docs/services/fs/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Fs | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/fs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/ftp/index.html b/docs/services/ftp/index.html
index 840aaa90d..a5baecac7 100644
--- a/docs/services/ftp/index.html
+++ b/docs/services/ftp/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">FTP | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/ftp"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data- [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/gcs/index.html b/docs/services/gcs/index.html
index e7d7a672a..42929bcdd 100644
--- a/docs/services/gcs/index.html
+++ b/docs/services/gcs/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Gcs | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/gcs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data- [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/gdrive/index.html b/docs/services/gdrive/index.html
index d1981afe7..3439e19a5 100644
--- a/docs/services/gdrive/index.html
+++ b/docs/services/gdrive/index.html
@@ -5,7 +5,7 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Gdrive | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/gdrive"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
@@ -16,8 +16,8 @@ please provide the following fields:</p><ul><li><code>refresh_token</code>: set
You need to get authorization code from user by calling GoogleDrive's authorize url
and exchange it for refresh token.</p><p>Make sure you have enabled Google Drive API in your Google Cloud Console.
And your OAuth scope contains <code>https://www.googleapis.com/auth/drive</code>.</p><p>Please refer to <a href="https://developers.google.com/identity/protocols/oauth2/" target="_blank" rel="noopener noreferrer">GoogleDrive OAuth2 Flow</a>
-for more information.</p><p>You can refer to <!-- -->[<code>GdriveBuilder</code>]<!-- -->'s docs for more information</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="via-builder">Via Builder<a href="#via-builder" class="hash-link" aria-label="Direct link to Via Builder" title="Direct link to Via Bui [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+for more information.</p><p>You can refer to <!-- -->[<code>GdriveBuilder</code>]<!-- -->'s docs for more information</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="via-builder">Via Builder<a href="#via-builder" class="hash-link" aria-label="Direct link to Via Builder" title="Direct link to Via Bui [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/ghac/index.html b/docs/services/ghac/index.html
index 22c4cb0b3..fb03b6bdc 100644
--- a/docs/services/ghac/index.html
+++ b/docs/services/ghac/index.html
@@ -5,7 +5,7 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">GHAC | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/ghac"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
@@ -13,8 +13,8 @@
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
configure the URL and credentials, or that the following environment has been setup correctly:</p><ul><li><code>ACTIONS_CACHE_URL</code></li><li><code>ACTIONS_RUNTIME_TOKEN</code></li></ul><p>They can be exposed by following action:</p><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar"><code cla [...]
We provide a <code>enable_create_simulation()</code> to support this operation but may result unexpected side effects.</p><p>Also, <code>ghac</code> is a cache service which means the data store inside could
-be automatically evicted at any time.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration"></a></h2><ul><li><code>root</code>: Set the work dir for backend.</li></ul><p>Refer to <!-- -->[<code>GhacBuilder</code>]<!-- -->'s public API docs for more information.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a h [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+be automatically evicted at any time.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration"></a></h2><ul><li><code>root</code>: Set the work dir for backend.</li></ul><p>Refer to <!-- -->[<code>GhacBuilder</code>]<!-- -->'s public API docs for more information.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a h [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/gridfs/index.html b/docs/services/gridfs/index.html
index a2ca22302..e2b8b3e9d 100644
--- a/docs/services/gridfs/index.html
+++ b/docs/services/gridfs/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Gridfs | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/gridfs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/hdfs/index.html b/docs/services/hdfs/index.html
index c3bcdba64..52ac8a247 100644
--- a/docs/services/hdfs/index.html
+++ b/docs/services/hdfs/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">HDFS | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/hdfs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/http/index.html b/docs/services/http/index.html
index 747567f86..ab1d0e930 100644
--- a/docs/services/http/index.html
+++ b/docs/services/http/index.html
@@ -5,14 +5,14 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">HTTP | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/http"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-HTTP Server like nginx, caddy.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration"></a></h2><ul><li><code>endpoint</code>: set the endpoint for http</li><li><code>root</code>: Set the work directory for backend</li></ul><p>You can refer to <!-- -->[<code>HttpBuilder</code>]<!-- -->'s docs for more information</p><h2 class="anchor an [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+HTTP Server like nginx, caddy.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration"></a></h2><ul><li><code>endpoint</code>: set the endpoint for http</li><li><code>root</code>: Set the work directory for backend</li></ul><p>You can refer to <!-- -->[<code>HttpBuilder</code>]<!-- -->'s docs for more information</p><h2 class="anchor an [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/ipfs/index.html b/docs/services/ipfs/index.html
index f5c00581e..6b830e261 100644
--- a/docs/services/ipfs/index.html
+++ b/docs/services/ipfs/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">IPFS | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/ipfs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/ipmfs/index.html b/docs/services/ipmfs/index.html
index 3cc5cb538..76587083d 100644
--- a/docs/services/ipmfs/index.html
+++ b/docs/services/ipmfs/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">IPMFS | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/ipmfs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta d [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/libsql/index.html b/docs/services/libsql/index.html
index 0a36248ae..22eb93fd7 100644
--- a/docs/services/libsql/index.html
+++ b/docs/services/libsql/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">LibSQL | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/libsql"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/memcached/index.html b/docs/services/memcached/index.html
index dab819ad3..9098fcdc0 100644
--- a/docs/services/memcached/index.html
+++ b/docs/services/memcached/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Memcached | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/memcached"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current" [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/memory/index.html b/docs/services/memory/index.html
index 13ce8fd9e..6c28b39e8 100644
--- a/docs/services/memory/index.html
+++ b/docs/services/memory/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Memory | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/memory"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/moka/index.html b/docs/services/moka/index.html
index db679d9c2..550b4484e 100644
--- a/docs/services/moka/index.html
+++ b/docs/services/moka/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Moka | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/moka"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/mongodb/index.html b/docs/services/mongodb/index.html
index 0265779b4..0b844602a 100644
--- a/docs/services/mongodb/index.html
+++ b/docs/services/mongodb/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">MongoDB | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/mongodb"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><me [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/mysql/index.html b/docs/services/mysql/index.html
index 1f697b390..d2644fb08 100644
--- a/docs/services/mysql/index.html
+++ b/docs/services/mysql/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">MySQL | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/mysql"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta d [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/obs/index.html b/docs/services/obs/index.html
index 2a8405f7c..a5c02a3f7 100644
--- a/docs/services/obs/index.html
+++ b/docs/services/obs/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Obs | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/obs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data- [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/onedrive/index.html b/docs/services/onedrive/index.html
index 09b76ec7d..45957f715 100644
--- a/docs/services/onedrive/index.html
+++ b/docs/services/onedrive/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">OneDrive | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/onedrive"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current">< [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/oss/index.html b/docs/services/oss/index.html
index c13f68220..b48d90f3e 100644
--- a/docs/services/oss/index.html
+++ b/docs/services/oss/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">OSS | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/oss"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data- [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/persy/index.html b/docs/services/persy/index.html
index aafba1199..2682e85cc 100644
--- a/docs/services/persy/index.html
+++ b/docs/services/persy/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Persy | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/persy"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta d [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/postgresql/index.html b/docs/services/postgresql/index.html
index 123618183..49eca7f42 100644
--- a/docs/services/postgresql/index.html
+++ b/docs/services/postgresql/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">PostgreSQL | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/postgresql"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="curren [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/redb/index.html b/docs/services/redb/index.html
index d4185b258..2b819c931 100644
--- a/docs/services/redb/index.html
+++ b/docs/services/redb/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Redb | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/redb"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/redis/index.html b/docs/services/redis/index.html
index e2d4d210e..23cdf6f9c 100644
--- a/docs/services/redis/index.html
+++ b/docs/services/redis/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Redis | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/redis"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta d [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/rocksdb/index.html b/docs/services/rocksdb/index.html
index 6bd1b865a..626a0c3f0 100644
--- a/docs/services/rocksdb/index.html
+++ b/docs/services/rocksdb/index.html
@@ -5,7 +5,7 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">RocksDB | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/rocksdb"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><me [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
@@ -13,8 +13,8 @@
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
issues. It is advisable to follow the steps provided in the <a href="https://github.com/facebook/rocksdb/blob/main/INSTALL.md" target="_blank" rel="noopener noreferrer"><code>INSTALL</code></a>
file to build rocksdb, rather than relying on system libraries that
-may be outdated and incompatible.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration"></a></h2><ul><li><code>root</code>: Set the working directory of <code>OpenDAL</code></li><li><code>datadir</code>: Set the path to the rocksdb data directory</li></ul><p>You can refer to <!-- -->[<code>RocksdbBuilder</code>]<!-- -->'s docs for mor [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+may be outdated and incompatible.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration"></a></h2><ul><li><code>root</code>: Set the working directory of <code>OpenDAL</code></li><li><code>datadir</code>: Set the path to the rocksdb data directory</li></ul><p>You can refer to <!-- -->[<code>RocksdbBuilder</code>]<!-- -->'s docs for mor [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/s3/index.html b/docs/services/s3/index.html
index 3a55a943a..29c7d22c7 100644
--- a/docs/services/s3/index.html
+++ b/docs/services/s3/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">S3 | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/s3"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/sftp/index.html b/docs/services/sftp/index.html
index a481f89a4..bca4bb57b 100644
--- a/docs/services/sftp/index.html
+++ b/docs/services/sftp/index.html
@@ -5,14 +5,14 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">SFTP | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/sftp"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-lots of files, you should pay attention to close the file after using it.</p></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="capabilities">Capabilities<a href="#capabilities" class="hash-link" aria-label="Direct link to Capabilities" title="Direct link to Capabilities"></a></h2><p>This service can be used to:</p><ul class="contains-task-list containsTaskList_mC6p"><li class="task-list-item"><input type="checkbox" checked="" disabled=""> <!-- -->stat</li><li class="task-li [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+lots of files, you should pay attention to close the file after using it.</p></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="capabilities">Capabilities<a href="#capabilities" class="hash-link" aria-label="Direct link to Capabilities" title="Direct link to Capabilities"></a></h2><p>This service can be used to:</p><ul class="contains-task-list containsTaskList_mC6p"><li class="task-list-item"><input type="checkbox" checked="" disabled=""> <!-- -->stat</li><li class="task-li [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/sled/index.html b/docs/services/sled/index.html
index f12a54464..0becb66c9 100644
--- a/docs/services/sled/index.html
+++ b/docs/services/sled/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Sled | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/sled"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/sqlite/index.html b/docs/services/sqlite/index.html
index 4010519de..b4e787840 100644
--- a/docs/services/sqlite/index.html
+++ b/docs/services/sqlite/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Sqlite | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/sqlite"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/supabase/index.html b/docs/services/supabase/index.html
index 18a9e805f..e566f8949 100644
--- a/docs/services/supabase/index.html
+++ b/docs/services/supabase/index.html
@@ -5,15 +5,15 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Supabase | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/supabase"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current">< [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
service_role_key(Secret key). The former one can only write public resources while the latter one
-can access all resources. Note that if you want to read public resources, do not set the key.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="via-builder">Via Builder<a href="#via-builder" class="hash-link" aria-label="Direct link to Via Builder" title="Direct link to Via Builder"></a></h3><div class="l [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+can access all resources. Note that if you want to read public resources, do not set the key.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="via-builder">Via Builder<a href="#via-builder" class="hash-link" aria-label="Direct link to Via Builder" title="Direct link to Via Builder"></a></h3><div class="l [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/swift/index.html b/docs/services/swift/index.html
index f6abbd191..9a90efab9 100644
--- a/docs/services/swift/index.html
+++ b/docs/services/swift/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Swift | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/swift"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta d [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/tikv/index.html b/docs/services/tikv/index.html
index dfbfd90a1..93a8bca8e 100644
--- a/docs/services/tikv/index.html
+++ b/docs/services/tikv/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">TiKV | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/tikv"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/vercel_artifacts/index.html b/docs/services/vercel_artifacts/index.html
index ae9a9b54e..3d71f43f6 100644
--- a/docs/services/vercel_artifacts/index.html
+++ b/docs/services/vercel_artifacts/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Vercel Artifacts | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/vercel_artifacts"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" con [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/webdav/index.html b/docs/services/webdav/index.html
index 21a61bc91..93a54ee17 100644
--- a/docs/services/webdav/index.html
+++ b/docs/services/webdav/index.html
@@ -5,14 +5,14 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">WebDAV | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/webdav"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-Users can use <code>webdav</code> to connect those services.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration"></a></h2><ul><li><code>endpoint</code>: set the endpoint for webdav</li><li><code>root</code>: Set the work directory for backend</li></ul><p>You can refer to <!-- -->[<code>WebdavBuilder</code>]<!-- -->'s docs for more i [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+Users can use <code>webdav</code> to connect those services.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration"></a></h2><ul><li><code>endpoint</code>: set the endpoint for webdav</li><li><code>root</code>: Set the work directory for backend</li></ul><p>You can refer to <!-- -->[<code>WebdavBuilder</code>]<!-- -->'s docs for more i [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/webhdfs/index.html b/docs/services/webhdfs/index.html
index 1243fc8b2..f84818ff5 100644
--- a/docs/services/webhdfs/index.html
+++ b/docs/services/webhdfs/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">WebHDFS | Apache OpenDAL</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:url" content="https://opendal.apache.org/docs/services/webhdfs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><me [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/download/index.html b/download/index.html
index 448529e54..4c597e418 100644
--- a/download/index.html
+++ b/download/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Download | Apache OpenDAL</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:url" content="https://opendal.apache.org/download"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/index.html b/index.html
index 6a6a19177..c83a19083 100644
--- a/index.html
+++ b/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Apache OpenDAL</title><meta data-rh="true" property="og:title" content="Apache OpenDAL"><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:url" content="https://opendal.apache.org/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docse [...]
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.dcf1bd2e.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1ba8798c.js" as="script">
<link rel="preload" href="/assets/js/main.4c3eaf48.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div id="__docusaurus-base-url-issue-banner-container"></div><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria [...]
-<script src="/assets/js/runtime~main.dcf1bd2e.js"></script>
+<script src="/assets/js/runtime~main.1ba8798c.js"></script>
<script src="/assets/js/main.4c3eaf48.js"></script>
</body>
</html>
\ No newline at end of file