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/10/14 04:38:12 UTC
[incubator-opendal] branch gh-pages updated: deploy: 8679cae872a7d3c62c1e48bba2d5271a2f4af4b6
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 69b96b944 deploy: 8679cae872a7d3c62c1e48bba2d5271a2f4af4b6
69b96b944 is described below
commit 69b96b9440cd9e9d9605c666025b44ddee8a4a33
Author: Xuanwo <Xu...@users.noreply.github.com>
AuthorDate: Sat Oct 14 04:38:07 2023 +0000
deploy: 8679cae872a7d3c62c1e48bba2d5271a2f4af4b6
---
404.html | 4 +-
.../{054cd2fb.bff25508.js => 054cd2fb.2be89662.js} | 2 +-
.../{093f5f04.40051d27.js => 093f5f04.7e636f58.js} | 2 +-
.../{136e1c50.eb9855cf.js => 136e1c50.c812f981.js} | 2 +-
.../{151cd40f.13691e25.js => 151cd40f.62408a86.js} | 2 +-
.../{1957547a.283bc833.js => 1957547a.b60874b5.js} | 2 +-
assets/js/1db64337.0d52a783.js | 1 +
assets/js/1db64337.583a3c07.js | 1 -
.../{22d8fa67.3854c863.js => 22d8fa67.f7cb491b.js} | 2 +-
.../{29b208a4.b44264da.js => 29b208a4.d364548f.js} | 2 +-
.../{2cbf1097.4ef1e740.js => 2cbf1097.b447b3d4.js} | 2 +-
.../{434bbc94.9e7d3886.js => 434bbc94.ca9576f3.js} | 2 +-
.../{57a16c1d.3058a823.js => 57a16c1d.d8610cbb.js} | 2 +-
.../{592d1076.1d449a5c.js => 592d1076.40ca4cb3.js} | 2 +-
.../{621b831b.323706bd.js => 621b831b.93aea3a9.js} | 2 +-
.../{7263c0b5.bef05afa.js => 7263c0b5.4747595e.js} | 2 +-
assets/js/8070e160.2c75109b.js | 1 -
assets/js/8070e160.aa69cb32.js | 1 +
.../{8b18d929.acc8c93e.js => 8b18d929.c13522ee.js} | 2 +-
.../{8cc9519e.62c5ef23.js => 8cc9519e.01e2aa43.js} | 2 +-
.../{8f4159f2.741ab35e.js => 8f4159f2.329e0473.js} | 2 +-
.../{939f74f6.3567315f.js => 939f74f6.937eb8b8.js} | 2 +-
.../{a0405932.bc03323a.js => a0405932.5f09b863.js} | 2 +-
.../{b114cefa.10c426b6.js => b114cefa.8782aacc.js} | 2 +-
.../{b56f9725.ab8c4c23.js => b56f9725.f0bd1aeb.js} | 2 +-
.../{bb5b2057.327815ea.js => bb5b2057.0edf2bb9.js} | 2 +-
.../{c46c6b55.ea3f0fad.js => c46c6b55.721ff801.js} | 2 +-
.../{c6ab695b.9874cd4a.js => c6ab695b.3b465df1.js} | 2 +-
.../{cc62039a.3c8f3c22.js => cc62039a.d58a6e90.js} | 2 +-
.../{d3c0d8d5.6c6ffc92.js => d3c0d8d5.6823792c.js} | 2 +-
.../{ddccef4c.d7cd37dd.js => ddccef4c.e88025ce.js} | 2 +-
.../{e892cec6.5919393c.js => e892cec6.a6490a91.js} | 2 +-
.../{f1ca5a39.d63b5824.js => f1ca5a39.f0ffb6fa.js} | 2 +-
.../{f9145722.bff3abfb.js => f9145722.3fe959c5.js} | 2 +-
.../{fde7cc64.d2d963a7.js => fde7cc64.ab6add11.js} | 2 +-
...e~main.51901b6f.js => runtime~main.08ce2056.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/c/annotated.html | 13 +-
docs/c/classes.html | 2 +-
docs/c/functions.html | 9 +
docs/c/functions_vars.html | 9 +
docs/c/globals.html | 21 ++
docs/c/globals_func.html | 9 +
docs/c/globals_type.html | 12 +
docs/c/index.html | 28 +-
docs/c/opendal_8h.html | 283 ++++++++++++++---
docs/c/opendal_8h_source.html | 350 ++++++++++++---------
docs/c/search/all_0.js | 3 +-
docs/c/search/all_1.js | 2 +-
docs/c/search/all_2.js | 2 +-
docs/c/search/all_3.js | 4 +-
docs/c/search/all_4.js | 4 +-
docs/c/search/all_5.js | 4 +-
docs/c/search/all_6.js | 4 +-
docs/c/search/all_7.js | 102 +++---
docs/c/search/all_8.js | 2 +-
docs/c/search/all_9.js | 3 +-
docs/c/search/all_a.js | 2 +-
docs/c/search/all_b.html | 37 +++
docs/c/search/all_b.js | 4 +
docs/c/search/classes_0.js | 27 +-
docs/c/search/enums_0.js | 2 +-
docs/c/search/enumvalues_0.js | 20 +-
docs/c/search/files_0.js | 2 +-
docs/c/search/files_1.js | 2 +-
docs/c/search/functions_0.js | 47 +--
docs/c/search/pages_0.js | 2 +-
docs/c/search/pages_1.js | 2 +-
docs/c/search/searchdata.js | 4 +-
docs/c/search/typedefs_0.js | 3 +-
docs/c/search/typedefs_1.js | 2 +-
docs/c/search/typedefs_2.js | 29 +-
docs/c/search/variables_0.js | 2 +-
docs/c/search/variables_1.js | 2 +-
docs/c/search/variables_2.js | 2 +-
docs/c/search/variables_3.js | 4 +-
docs/c/search/variables_4.js | 4 +-
docs/c/search/variables_5.js | 4 +-
docs/c/search/variables_6.js | 2 +-
docs/c/search/variables_7.js | 2 +-
docs/c/search/variables_8.html | 37 +++
docs/c/search/variables_8.js | 4 +
docs/c/search/variables_9.html | 37 +++
docs/c/search/variables_9.js | 4 +
...ses.html => structopendal__reader-members.html} | 18 +-
.../c/{classes.html => structopendal__reader.html} | 39 ++-
... => structopendal__result__reader-members.html} | 19 +-
docs/c/structopendal__result__reader.html | 126 ++++++++
...ructopendal__result__reader__read-members.html} | 19 +-
...ml => structopendal__result__reader__read.html} | 55 +++-
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/Lister.html | 4 +-
docs/nodejs/classes/Metadata.html | 18 +-
docs/nodejs/classes/Operator.html | 58 ++--
docs/nodejs/interfaces/PresignedRequest.html | 8 +-
docs/overview/index.html | 6 +-
docs/python/opendal.html | 62 ++--
docs/python/search.js | 2 +-
docs/quickstart/index.html | 6 +-
docs/services/azblob/index.html | 6 +-
docs/services/azdls/index.html | 6 +-
docs/services/cos/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/hdfs/index.html | 6 +-
docs/services/http/index.html | 6 +-
docs/services/ipfs/index.html | 6 +-
docs/services/ipmfs/index.html | 6 +-
docs/services/memcached/index.html | 6 +-
docs/services/memory/index.html | 6 +-
docs/services/moka/index.html | 6 +-
docs/services/obs/index.html | 6 +-
docs/services/onedrive/index.html | 6 +-
docs/services/oss/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/supabase/index.html | 6 +-
docs/services/wasabi/index.html | 6 +-
docs/services/webdav/index.html | 6 +-
docs/services/webhdfs/index.html | 6 +-
download/index.html | 4 +-
index.html | 4 +-
154 files changed, 1288 insertions(+), 659 deletions(-)
diff --git a/404.html b/404.html
index 8285a7273..4f4965de1 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/assets/js/054cd2fb.bff25508.js b/assets/js/054cd2fb.2be89662.js
similarity index 84%
rename from assets/js/054cd2fb.bff25508.js
rename to assets/js/054cd2fb.2be89662.js
index 2206f3872..5bf148a0e 100644
--- a/assets/js/054cd2fb.bff25508.js
+++ b/assets/js/054cd2fb.2be89662.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/093f5f04.40051d27.js b/assets/js/093f5f04.7e636f58.js
similarity index 84%
rename from assets/js/093f5f04.40051d27.js
rename to assets/js/093f5f04.7e636f58.js
index e37164c80..6564e6732 100644
--- a/assets/js/093f5f04.40051d27.js
+++ b/assets/js/093f5f04.7e636f58.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/136e1c50.eb9855cf.js b/assets/js/136e1c50.c812f981.js
similarity index 83%
rename from assets/js/136e1c50.eb9855cf.js
rename to assets/js/136e1c50.c812f981.js
index ede0607b1..b05b52994 100644
--- a/assets/js/136e1c50.eb9855cf.js
+++ b/assets/js/136e1c50.c812f981.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.13691e25.js b/assets/js/151cd40f.62408a86.js
similarity index 86%
rename from assets/js/151cd40f.13691e25.js
rename to assets/js/151cd40f.62408a86.js
index f9efd5857..204c7346a 100644
--- a/assets/js/151cd40f.13691e25.js
+++ b/assets/js/151cd40f.62408a86.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.283bc833.js b/assets/js/1957547a.b60874b5.js
similarity index 87%
rename from assets/js/1957547a.283bc833.js
rename to assets/js/1957547a.b60874b5.js
index bcbe9e376..e8dc89b18 100644
--- a/assets/js/1957547a.283bc833.js
+++ b/assets/js/1957547a.b60874b5.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.0d52a783.js b/assets/js/1db64337.0d52a783.js
new file mode 100644
index 000000000..0b89f55e4
--- /dev/null
+++ b/assets/js/1db64337.0d52a783.js
@@ -0,0 +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
diff --git a/assets/js/1db64337.583a3c07.js b/assets/js/1db64337.583a3c07.js
deleted file mode 100644
index 9c11bfe79..000000000
--- a/assets/js/1db64337.583a3c07.js
+++ /dev/null
@@ -1 +0,0 @@
-"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.3854c863.js b/assets/js/22d8fa67.f7cb491b.js
similarity index 85%
rename from assets/js/22d8fa67.3854c863.js
rename to assets/js/22d8fa67.f7cb491b.js
index 31dd720d1..fe4ade618 100644
--- a/assets/js/22d8fa67.3854c863.js
+++ b/assets/js/22d8fa67.f7cb491b.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.b44264da.js b/assets/js/29b208a4.d364548f.js
similarity index 84%
rename from assets/js/29b208a4.b44264da.js
rename to assets/js/29b208a4.d364548f.js
index a14e927f5..cb28b6449 100644
--- a/assets/js/29b208a4.b44264da.js
+++ b/assets/js/29b208a4.d364548f.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.4ef1e740.js b/assets/js/2cbf1097.b447b3d4.js
similarity index 92%
rename from assets/js/2cbf1097.4ef1e740.js
rename to assets/js/2cbf1097.b447b3d4.js
index f77715ef5..610a00eaa 100644
--- a/assets/js/2cbf1097.4ef1e740.js
+++ b/assets/js/2cbf1097.b447b3d4.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/434bbc94.9e7d3886.js b/assets/js/434bbc94.ca9576f3.js
similarity index 86%
rename from assets/js/434bbc94.9e7d3886.js
rename to assets/js/434bbc94.ca9576f3.js
index 94345de31..8c519666e 100644
--- a/assets/js/434bbc94.9e7d3886.js
+++ b/assets/js/434bbc94.ca9576f3.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/57a16c1d.3058a823.js b/assets/js/57a16c1d.d8610cbb.js
similarity index 83%
rename from assets/js/57a16c1d.3058a823.js
rename to assets/js/57a16c1d.d8610cbb.js
index e1792f9e8..47cdda9f1 100644
--- a/assets/js/57a16c1d.3058a823.js
+++ b/assets/js/57a16c1d.d8610cbb.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.1d449a5c.js b/assets/js/592d1076.40ca4cb3.js
similarity index 83%
rename from assets/js/592d1076.1d449a5c.js
rename to assets/js/592d1076.40ca4cb3.js
index f44180148..e89848a94 100644
--- a/assets/js/592d1076.1d449a5c.js
+++ b/assets/js/592d1076.40ca4cb3.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.323706bd.js b/assets/js/621b831b.93aea3a9.js
similarity index 85%
rename from assets/js/621b831b.323706bd.js
rename to assets/js/621b831b.93aea3a9.js
index bb75f4f48..9d0b973fb 100644
--- a/assets/js/621b831b.323706bd.js
+++ b/assets/js/621b831b.93aea3a9.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4551],{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([[4551],{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/7263c0b5.bef05afa.js b/assets/js/7263c0b5.4747595e.js
similarity index 86%
rename from assets/js/7263c0b5.bef05afa.js
rename to assets/js/7263c0b5.4747595e.js
index 720f9ee87..32bdab782 100644
--- a/assets/js/7263c0b5.bef05afa.js
+++ b/assets/js/7263c0b5.4747595e.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.2c75109b.js b/assets/js/8070e160.2c75109b.js
deleted file mode 100644
index 3d8c78f34..000000000
--- a/assets/js/8070e160.2c75109b.js
+++ /dev/null
@@ -1 +0,0 @@
-"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/8070e160.aa69cb32.js b/assets/js/8070e160.aa69cb32.js
new file mode 100644
index 000000000..7275a8687
--- /dev/null
+++ b/assets/js/8070e160.aa69cb32.js
@@ -0,0 +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
diff --git a/assets/js/8b18d929.acc8c93e.js b/assets/js/8b18d929.c13522ee.js
similarity index 89%
rename from assets/js/8b18d929.acc8c93e.js
rename to assets/js/8b18d929.c13522ee.js
index 6c798ca76..a41d1e43b 100644
--- a/assets/js/8b18d929.acc8c93e.js
+++ b/assets/js/8b18d929.c13522ee.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6299],{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 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([[6299],{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 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/8cc9519e.62c5ef23.js b/assets/js/8cc9519e.01e2aa43.js
similarity index 90%
rename from assets/js/8cc9519e.62c5ef23.js
rename to assets/js/8cc9519e.01e2aa43.js
index 71160e8e4..6121bea9c 100644
--- a/assets/js/8cc9519e.62c5ef23.js
+++ b/assets/js/8cc9519e.01e2aa43.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.741ab35e.js b/assets/js/8f4159f2.329e0473.js
similarity index 89%
rename from assets/js/8f4159f2.741ab35e.js
rename to assets/js/8f4159f2.329e0473.js
index 35a551d65..da13ee53c 100644
--- a/assets/js/8f4159f2.741ab35e.js
+++ b/assets/js/8f4159f2.329e0473.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/939f74f6.3567315f.js b/assets/js/939f74f6.937eb8b8.js
similarity index 86%
rename from assets/js/939f74f6.3567315f.js
rename to assets/js/939f74f6.937eb8b8.js
index 683eaadf4..99b6bd71d 100644
--- a/assets/js/939f74f6.3567315f.js
+++ b/assets/js/939f74f6.937eb8b8.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.bc03323a.js b/assets/js/a0405932.5f09b863.js
similarity index 84%
rename from assets/js/a0405932.bc03323a.js
rename to assets/js/a0405932.5f09b863.js
index 440b902b5..de88337c0 100644
--- a/assets/js/a0405932.bc03323a.js
+++ b/assets/js/a0405932.5f09b863.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.10c426b6.js b/assets/js/b114cefa.8782aacc.js
similarity index 84%
rename from assets/js/b114cefa.10c426b6.js
rename to assets/js/b114cefa.8782aacc.js
index 09786c9cf..9983a7cd6 100644
--- a/assets/js/b114cefa.10c426b6.js
+++ b/assets/js/b114cefa.8782aacc.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 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([[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 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/b56f9725.ab8c4c23.js b/assets/js/b56f9725.f0bd1aeb.js
similarity index 84%
rename from assets/js/b56f9725.ab8c4c23.js
rename to assets/js/b56f9725.f0bd1aeb.js
index aca831e09..5eeae4895 100644
--- a/assets/js/b56f9725.ab8c4c23.js
+++ b/assets/js/b56f9725.f0bd1aeb.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.327815ea.js b/assets/js/bb5b2057.0edf2bb9.js
similarity index 83%
rename from assets/js/bb5b2057.327815ea.js
rename to assets/js/bb5b2057.0edf2bb9.js
index c185ab217..049353726 100644
--- a/assets/js/bb5b2057.327815ea.js
+++ b/assets/js/bb5b2057.0edf2bb9.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/c46c6b55.ea3f0fad.js b/assets/js/c46c6b55.721ff801.js
similarity index 84%
rename from assets/js/c46c6b55.ea3f0fad.js
rename to assets/js/c46c6b55.721ff801.js
index 51dbd3689..3f609117e 100644
--- a/assets/js/c46c6b55.ea3f0fad.js
+++ b/assets/js/c46c6b55.721ff801.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.9874cd4a.js b/assets/js/c6ab695b.3b465df1.js
similarity index 85%
rename from assets/js/c6ab695b.9874cd4a.js
rename to assets/js/c6ab695b.3b465df1.js
index 590d94d56..77e7fedee 100644
--- a/assets/js/c6ab695b.9874cd4a.js
+++ b/assets/js/c6ab695b.3b465df1.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.3c8f3c22.js b/assets/js/cc62039a.d58a6e90.js
similarity index 89%
rename from assets/js/cc62039a.3c8f3c22.js
rename to assets/js/cc62039a.d58a6e90.js
index e17d3b70a..9617f168b 100644
--- a/assets/js/cc62039a.3c8f3c22.js
+++ b/assets/js/cc62039a.d58a6e90.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1011],{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([[1011],{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/d3c0d8d5.6c6ffc92.js b/assets/js/d3c0d8d5.6823792c.js
similarity index 84%
rename from assets/js/d3c0d8d5.6c6ffc92.js
rename to assets/js/d3c0d8d5.6823792c.js
index 4f7be1402..b6d984c13 100644
--- a/assets/js/d3c0d8d5.6c6ffc92.js
+++ b/assets/js/d3c0d8d5.6823792c.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.d7cd37dd.js b/assets/js/ddccef4c.e88025ce.js
similarity index 86%
rename from assets/js/ddccef4c.d7cd37dd.js
rename to assets/js/ddccef4c.e88025ce.js
index 79d798d2f..1680450aa 100644
--- a/assets/js/ddccef4c.d7cd37dd.js
+++ b/assets/js/ddccef4c.e88025ce.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.5919393c.js b/assets/js/e892cec6.a6490a91.js
similarity index 87%
rename from assets/js/e892cec6.5919393c.js
rename to assets/js/e892cec6.a6490a91.js
index 4d6735c27..c97e5a62f 100644
--- a/assets/js/e892cec6.5919393c.js
+++ b/assets/js/e892cec6.a6490a91.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.d63b5824.js b/assets/js/f1ca5a39.f0ffb6fa.js
similarity index 87%
rename from assets/js/f1ca5a39.d63b5824.js
rename to assets/js/f1ca5a39.f0ffb6fa.js
index d53068cbe..0a211ea87 100644
--- a/assets/js/f1ca5a39.d63b5824.js
+++ b/assets/js/f1ca5a39.f0ffb6fa.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.bff3abfb.js b/assets/js/f9145722.3fe959c5.js
similarity index 86%
rename from assets/js/f9145722.bff3abfb.js
rename to assets/js/f9145722.3fe959c5.js
index a08441438..18522266f 100644
--- a/assets/js/f9145722.bff3abfb.js
+++ b/assets/js/f9145722.3fe959c5.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6529],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});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 l(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:()=>f});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 l(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.d2d963a7.js b/assets/js/fde7cc64.ab6add11.js
similarity index 85%
rename from assets/js/fde7cc64.d2d963a7.js
rename to assets/js/fde7cc64.ab6add11.js
index 5e47f03e1..4ae749e9e 100644
--- a/assets/js/fde7cc64.d2d963a7.js
+++ b/assets/js/fde7cc64.ab6add11.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.51901b6f.js b/assets/js/runtime~main.08ce2056.js
similarity index 83%
rename from assets/js/runtime~main.51901b6f.js
rename to assets/js/runtime~main.08ce2056.js
index e286e693f..430b0548b 100644
--- a/assets/js/runtime~main.51901b6f.js
+++ b/assets/js/runtime~main.08ce2056.js
@@ -1 +1 @@
-(()=>{"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
+(()=>{"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 e0757c29d..9a0f467ab 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 c02075802..b70494f86 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index 93a7cfc6e..53b9b8a19 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 653749d71..2536deb6b 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 0b7d21ed1..4b239b135 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 51332c42e..0c74243ea 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 f7ac0b56a..521ce1c0c 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/tags/index.html b/blog/tags/index.html
index 1e904fcb4..9301a97aa 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 6fdcc9641..613244635 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 7f7281976..53fc19ff0 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 bfb5a0e38..0d8b1eccc 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 2efa734e7..b77a9cbad 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 31b02fbbf..1cd58094b 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 964c53b00..b2263e546 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 0333c12a8..3b04cb9eb 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 ade721eaa..c6f664373 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 e3599418e..c89a463b8 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
</head>
<body class="navigation-with-keyboard">
@@ -17,7 +17,7 @@ we will abandon that version and prepare for the next one.
Our release page will only display ASF releases instead of GitHub Releases.</p><ul><li><code>opendal_version</code>: the version for opendal, like <code>0.36.0</code>.</li><li><code>release_version</code>: the version for voting, like <code>0.36.0-rc.1</code>.</li><li><code>rc_version</code>: the minor version for voting, like <code>rc.1</code>.</li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="create-an-asf-release">Create an ASF Release<a href="#create-an-asf-release" class=" [...]
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>.</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><ul><li><code>opendal_version</code>: the version for opendal, like <code>0.36.0</code>.</li><li><c [...]
-<script src="/assets/js/runtime~main.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 da89b3676..223d595d8 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/community/index.html b/community/index.html
index 358156492..3fbc65b34 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/c/annotated.html b/docs/c/annotated.html
index 2d68ea43c..88f58cdbb 100644
--- a/docs/c/annotated.html
+++ b/docs/c/annotated.html
@@ -76,11 +76,14 @@ $(function() {
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__metadata.html" target="_self">opendal_metadata</a></td><td class="desc">Carries all metadata associated with a path </td></tr>
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__operator__options.html" target="_self">opendal_operator_options</a></td><td class="desc">The configuration for the initialization of <a class="el" href="structopendal__operator__ptr.html" title="Used to access almost all OpenDAL APIs. It represents a operator that provides the unified interfaces...">opendal_ [...]
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__operator__ptr.html" target="_self">opendal_operator_ptr</a></td><td class="desc">Used to access almost all OpenDAL APIs. It represents a operator that provides the unified interfaces provided by OpenDAL </td></tr>
-<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__result__is__exist.html" target="_self">opendal_result_is_exist</a></td><td class="desc">The result type returned by <a class="el" href="opendal_8h.html#ae5a3bf403cdf78d5c5b1fa9f623f0d80" title="Check whether the path exists.">opendal_operator_is_exist()</a> </td></tr>
-<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__result__list.html" target="_self">opendal_result_list</a></td><td class="desc">The result type returned by <a class="el" href="opendal_8h.html#a844f3a690078c34af557ae83e1f1513f" title="Blockingly list the objects in path.">opendal_operator_blocking_list()</a> </td></tr>
-<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__result__operator__new.html" target="_self">opendal_result_operator_new</a></td><td class="desc">The result type returned by <a class="el" href="opendal_8h.html#a3b32f655689a122d2b6feff169fac442" title="Construct an operator based on scheme and options">opendal_operator_new()</a> operation </td></tr>
-<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__result__read.html" target="_self">opendal_result_read</a></td><td class="desc">The result type returned by opendal's read operation </td></tr>
-<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__result__stat.html" target="_self">opendal_result_stat</a></td><td class="desc">The result type returned by <a class="el" href="opendal_8h.html#aefa1285911f7cf00837e69ba29d2efd3" title="Stat the path, return its metadata.">opendal_operator_stat()</a> </td></tr>
+<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__reader.html" target="_self">opendal_reader</a></td><td class="desc"></td></tr>
+<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__result__is__exist.html" target="_self">opendal_result_is_exist</a></td><td class="desc">The result type returned by <a class="el" href="opendal_8h.html#ae5a3bf403cdf78d5c5b1fa9f623f0d80" title="Check whether the path exists.">opendal_operator_is_exist()</a> </td></tr>
+<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__result__list.html" target="_self">opendal_result_list</a></td><td class="desc">The result type returned by <a class="el" href="opendal_8h.html#a844f3a690078c34af557ae83e1f1513f" title="Blockingly list the objects in path.">opendal_operator_blocking_list()</a> </td></tr>
+<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__result__operator__new.html" target="_self">opendal_result_operator_new</a></td><td class="desc">The result type returned by <a class="el" href="opendal_8h.html#a3b32f655689a122d2b6feff169fac442" title="Construct an operator based on scheme and options">opendal_operator_new()</a> operation </td></tr>
+<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__result__read.html" target="_self">opendal_result_read</a></td><td class="desc">The result type returned by opendal's read operation </td></tr>
+<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__result__reader.html" target="_self">opendal_result_reader</a></td><td class="desc">The result type returned by opendal_operator_reader(). The result type for opendal_operator_reader(), the field <code>reader</code> contains the reader of the path, which is an iterator of the objects under the p [...]
+<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__result__reader__read.html" target="_self">opendal_result_reader_read</a></td><td class="desc"></td></tr>
+<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structopendal__result__stat.html" target="_self">opendal_result_stat</a></td><td class="desc">The result type returned by <a class="el" href="opendal_8h.html#aefa1285911f7cf00837e69ba29d2efd3" title="Stat the path, return its metadata.">opendal_operator_stat()</a> </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
diff --git a/docs/c/classes.html b/docs/c/classes.html
index 51455a173..376dc7540 100644
--- a/docs/c/classes.html
+++ b/docs/c/classes.html
@@ -71,7 +71,7 @@ $(function() {
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a name="letter_O">O</a></dt>
-<dd><a class="el" href="structopendal__blocking__lister.html">opendal_blocking_lister</a></dd><dd><a class="el" href="structopendal__bytes.html">opendal_bytes</a></dd><dd><a class="el" href="structopendal__error.html">opendal_error</a></dd><dd><a class="el" href="structopendal__list__entry.html">opendal_list_entry</a></dd><dd><a class="el" href="structopendal__metadata.html">opendal_metadata</a></dd><dd><a class="el" href="structopendal__operator__options.html">opendal_operator_options</ [...]
+<dd><a class="el" href="structopendal__blocking__lister.html">opendal_blocking_lister</a></dd><dd><a class="el" href="structopendal__bytes.html">opendal_bytes</a></dd><dd><a class="el" href="structopendal__error.html">opendal_error</a></dd><dd><a class="el" href="structopendal__list__entry.html">opendal_list_entry</a></dd><dd><a class="el" href="structopendal__metadata.html">opendal_metadata</a></dd><dd><a class="el" href="structopendal__operator__options.html">opendal_operator_options</ [...]
</div>
</div><!-- contents -->
<!-- start footer part -->
diff --git a/docs/c/functions.html b/docs/c/functions.html
index b215218b5..3bf7ae075 100644
--- a/docs/c/functions.html
+++ b/docs/c/functions.html
@@ -76,6 +76,8 @@ $(function() {
, <a class="el" href="structopendal__result__list.html#a874bfb5c9d016445698fb59d65b76ed2">opendal_result_list</a>
, <a class="el" href="structopendal__result__operator__new.html#a5ee50d6c74038806e57d12d1880ac520">opendal_result_operator_new</a>
, <a class="el" href="structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2">opendal_result_read</a>
+, <a class="el" href="structopendal__result__reader.html#a1c075185ae159ac377b3e971c359efc2">opendal_result_reader</a>
+, <a class="el" href="structopendal__result__reader__read.html#a1279e7b3cb6beaf63da0f6ee9370ba36">opendal_result_reader_read</a>
, <a class="el" href="structopendal__result__stat.html#a657eee3bfdf805036f169d94ee70dce9">opendal_result_stat</a>
</li>
<li>inner
@@ -83,6 +85,7 @@ $(function() {
, <a class="el" href="structopendal__list__entry.html#a23ad6b3ca61aa600ef6f3769f2479892">opendal_list_entry</a>
, <a class="el" href="structopendal__metadata.html#afadf4e2bbfa3ee699d3c3d9c0a96a404">opendal_metadata</a>
, <a class="el" href="structopendal__operator__options.html#a0b4a1a2cd9074140b04836b822a04645">opendal_operator_options</a>
+, <a class="el" href="structopendal__reader.html#a25070270d288274fc2fcb1e38d389718">opendal_reader</a>
</li>
<li>is_exist
: <a class="el" href="structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295">opendal_result_is_exist</a>
@@ -105,6 +108,12 @@ $(function() {
<li>ptr
: <a class="el" href="structopendal__operator__ptr.html#a17b619ae01bb6471f51f8501ab18dd9b">opendal_operator_ptr</a>
</li>
+<li>reader
+: <a class="el" href="structopendal__result__reader.html#ab2f72d683d38843ca9b429fc9a80272d">opendal_result_reader</a>
+</li>
+<li>size
+: <a class="el" href="structopendal__result__reader__read.html#a5a513cafeacebef13f74fd50c30e9810">opendal_result_reader_read</a>
+</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
diff --git a/docs/c/functions_vars.html b/docs/c/functions_vars.html
index 5362f9621..745d9de07 100644
--- a/docs/c/functions_vars.html
+++ b/docs/c/functions_vars.html
@@ -76,6 +76,8 @@ $(function() {
, <a class="el" href="structopendal__result__list.html#a874bfb5c9d016445698fb59d65b76ed2">opendal_result_list</a>
, <a class="el" href="structopendal__result__operator__new.html#a5ee50d6c74038806e57d12d1880ac520">opendal_result_operator_new</a>
, <a class="el" href="structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2">opendal_result_read</a>
+, <a class="el" href="structopendal__result__reader.html#a1c075185ae159ac377b3e971c359efc2">opendal_result_reader</a>
+, <a class="el" href="structopendal__result__reader__read.html#a1279e7b3cb6beaf63da0f6ee9370ba36">opendal_result_reader_read</a>
, <a class="el" href="structopendal__result__stat.html#a657eee3bfdf805036f169d94ee70dce9">opendal_result_stat</a>
</li>
<li>inner
@@ -83,6 +85,7 @@ $(function() {
, <a class="el" href="structopendal__list__entry.html#a23ad6b3ca61aa600ef6f3769f2479892">opendal_list_entry</a>
, <a class="el" href="structopendal__metadata.html#afadf4e2bbfa3ee699d3c3d9c0a96a404">opendal_metadata</a>
, <a class="el" href="structopendal__operator__options.html#a0b4a1a2cd9074140b04836b822a04645">opendal_operator_options</a>
+, <a class="el" href="structopendal__reader.html#a25070270d288274fc2fcb1e38d389718">opendal_reader</a>
</li>
<li>is_exist
: <a class="el" href="structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295">opendal_result_is_exist</a>
@@ -105,6 +108,12 @@ $(function() {
<li>ptr
: <a class="el" href="structopendal__operator__ptr.html#a17b619ae01bb6471f51f8501ab18dd9b">opendal_operator_ptr</a>
</li>
+<li>reader
+: <a class="el" href="structopendal__result__reader.html#ab2f72d683d38843ca9b429fc9a80272d">opendal_result_reader</a>
+</li>
+<li>size
+: <a class="el" href="structopendal__result__reader__read.html#a5a513cafeacebef13f74fd50c30e9810">opendal_result_reader_read</a>
+</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
diff --git a/docs/c/globals.html b/docs/c/globals.html
index bbdbd7418..6fbc32137 100644
--- a/docs/c/globals.html
+++ b/docs/c/globals.html
@@ -69,6 +69,9 @@ $(function() {
<li>BlockingLister
: <a class="el" href="opendal_8h.html#a03ea17a7d09e319825d05a1d9f5d933c">opendal.h</a>
</li>
+<li>BlockingReader
+: <a class="el" href="opendal_8h.html#a8c11fb124aac4911b663122dbfa7d1fa">opendal.h</a>
+</li>
</ul>
@@ -158,6 +161,9 @@ $(function() {
<li>opendal_operator_blocking_read()
: <a class="el" href="opendal_8h.html#ae8fc63885af34e53afbb075dfed39732">opendal.h</a>
</li>
+<li>opendal_operator_blocking_reader()
+: <a class="el" href="opendal_8h.html#a6285d4da17f5f873bc7a8edd7301fb81">opendal.h</a>
+</li>
<li>opendal_operator_blocking_write()
: <a class="el" href="opendal_8h.html#a39c13941f26a7a1bbb0b52cbb7af61b9">opendal.h</a>
</li>
@@ -194,6 +200,15 @@ $(function() {
<li>OPENDAL_RATE_LIMITED
: <a class="el" href="opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2ae78f8c2cde8d2a3888e12e3894ae5d71">opendal.h</a>
</li>
+<li>opendal_reader
+: <a class="el" href="opendal_8h.html#a1f2a071a20d13757ba9cd5fde09c1100">opendal.h</a>
+</li>
+<li>opendal_reader_free()
+: <a class="el" href="opendal_8h.html#a7ef708841e8d9a0cebb64a983ef4d472">opendal.h</a>
+</li>
+<li>opendal_reader_read()
+: <a class="el" href="opendal_8h.html#ae10ef4bd17ee529fbfa8ab6ed9d0e3a4">opendal.h</a>
+</li>
<li>opendal_result_is_exist
: <a class="el" href="opendal_8h.html#afbd6b36f0b084ca5fa251ebd5e317abf">opendal.h</a>
</li>
@@ -206,6 +221,12 @@ $(function() {
<li>opendal_result_read
: <a class="el" href="opendal_8h.html#a68a7b0ae2b453dd9ba31ba0d572a4d5d">opendal.h</a>
</li>
+<li>opendal_result_reader
+: <a class="el" href="opendal_8h.html#a7712a472329fe04955dd86a213c78b37">opendal.h</a>
+</li>
+<li>opendal_result_reader_read
+: <a class="el" href="opendal_8h.html#a1fc707d831b5e91edd1a34c0f08805ff">opendal.h</a>
+</li>
<li>opendal_result_stat
: <a class="el" href="opendal_8h.html#a07f3f83aa0b650a09986291e47a8ddb0">opendal.h</a>
</li>
diff --git a/docs/c/globals_func.html b/docs/c/globals_func.html
index 812ae7bae..5563bc3bc 100644
--- a/docs/c/globals_func.html
+++ b/docs/c/globals_func.html
@@ -106,6 +106,9 @@ $(function() {
<li>opendal_operator_blocking_read()
: <a class="el" href="opendal_8h.html#ae8fc63885af34e53afbb075dfed39732">opendal.h</a>
</li>
+<li>opendal_operator_blocking_reader()
+: <a class="el" href="opendal_8h.html#a6285d4da17f5f873bc7a8edd7301fb81">opendal.h</a>
+</li>
<li>opendal_operator_blocking_write()
: <a class="el" href="opendal_8h.html#a39c13941f26a7a1bbb0b52cbb7af61b9">opendal.h</a>
</li>
@@ -130,6 +133,12 @@ $(function() {
<li>opendal_operator_stat()
: <a class="el" href="opendal_8h.html#aefa1285911f7cf00837e69ba29d2efd3">opendal.h</a>
</li>
+<li>opendal_reader_free()
+: <a class="el" href="opendal_8h.html#a7ef708841e8d9a0cebb64a983ef4d472">opendal.h</a>
+</li>
+<li>opendal_reader_read()
+: <a class="el" href="opendal_8h.html#ae10ef4bd17ee529fbfa8ab6ed9d0e3a4">opendal.h</a>
+</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
diff --git a/docs/c/globals_type.html b/docs/c/globals_type.html
index a0f83b26b..ed34d69c2 100644
--- a/docs/c/globals_type.html
+++ b/docs/c/globals_type.html
@@ -67,6 +67,9 @@ $(function() {
<li>BlockingLister
: <a class="el" href="opendal_8h.html#a03ea17a7d09e319825d05a1d9f5d933c">opendal.h</a>
</li>
+<li>BlockingReader
+: <a class="el" href="opendal_8h.html#a8c11fb124aac4911b663122dbfa7d1fa">opendal.h</a>
+</li>
<li>Entry
: <a class="el" href="opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8">opendal.h</a>
</li>
@@ -94,6 +97,9 @@ $(function() {
<li>opendal_operator_ptr
: <a class="el" href="opendal_8h.html#aae5d70fff7f6c87e07b8aa97e08e7191">opendal.h</a>
</li>
+<li>opendal_reader
+: <a class="el" href="opendal_8h.html#a1f2a071a20d13757ba9cd5fde09c1100">opendal.h</a>
+</li>
<li>opendal_result_is_exist
: <a class="el" href="opendal_8h.html#afbd6b36f0b084ca5fa251ebd5e317abf">opendal.h</a>
</li>
@@ -106,6 +112,12 @@ $(function() {
<li>opendal_result_read
: <a class="el" href="opendal_8h.html#a68a7b0ae2b453dd9ba31ba0d572a4d5d">opendal.h</a>
</li>
+<li>opendal_result_reader
+: <a class="el" href="opendal_8h.html#a7712a472329fe04955dd86a213c78b37">opendal.h</a>
+</li>
+<li>opendal_result_reader_read
+: <a class="el" href="opendal_8h.html#a1fc707d831b5e91edd1a34c0f08805ff">opendal.h</a>
+</li>
<li>opendal_result_stat
: <a class="el" href="opendal_8h.html#a07f3f83aa0b650a09986291e47a8ddb0">opendal.h</a>
</li>
diff --git a/docs/c/index.html b/docs/c/index.html
index 5da9aebed..de90c5756 100644
--- a/docs/c/index.html
+++ b/docs/c/index.html
@@ -68,7 +68,7 @@ $(function() {
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a class="anchor" id="md_README"></a> <img src="https://github.com/apache/incubator-opendal/assets/5351546/87bbf6e5-f19e-449a-b368-3e283016c887" alt="" class="inline"/></p>
-<h1><a class="anchor" id="autotoc_md32"></a>
+<h1><a class="anchor" id="autotoc_md35"></a>
Example</h1>
<p>A simple read and write example</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include "assert.h"</span></div>
@@ -115,17 +115,17 @@ Example</h1>
<div class="ttc" id="aopendal_8h_html_a3e038035b4339e19f24e1aa8ef678def"><div class="ttname"><a href="opendal_8h.html#a3e038035b4339e19f24e1aa8ef678def">opendal_operator_free</a></div><div class="ttdeci">void opendal_operator_free(const struct opendal_operator_ptr *op)</div><div class="ttdoc">Free the heap-allocated operator pointed by opendal_operator_ptr.</div></div>
<div class="ttc" id="aopendal_8h_html_ae8fc63885af34e53afbb075dfed39732"><div class="ttname"><a href="opendal_8h.html#ae8fc63885af34e53afbb075dfed39732">opendal_operator_blocking_read</a></div><div class="ttdeci">struct opendal_result_read opendal_operator_blocking_read(const struct opendal_operator_ptr *ptr, const char *path)</div><div class="ttdoc">Blockingly read the data from path.</div></div>
<div class="ttc" id="aopendal_8h_html_aea5253c2bbe9438349eebb68a18a82ea"><div class="ttname"><a href="opendal_8h.html#aea5253c2bbe9438349eebb68a18a82ea">opendal_bytes_free</a></div><div class="ttdeci">void opendal_bytes_free(struct opendal_bytes *ptr)</div><div class="ttdoc">Frees the heap memory used by the opendal_bytes.</div></div>
-<div class="ttc" id="astructopendal__bytes_html"><div class="ttname"><a href="structopendal__bytes.html">opendal_bytes</a></div><div class="ttdoc">opendal_bytes carries raw-bytes with its length</div><div class="ttdef"><b>Definition:</b> opendal.h:234</div></div>
-<div class="ttc" id="astructopendal__bytes_html_a16abed2ad211c076650d1ea81772b851"><div class="ttname"><a href="structopendal__bytes.html#a16abed2ad211c076650d1ea81772b851">opendal_bytes::len</a></div><div class="ttdeci">uintptr_t len</div><div class="ttdef"><b>Definition:</b> opendal.h:242</div></div>
-<div class="ttc" id="astructopendal__bytes_html_af7a7f99a262f8a3912f4d1cddb798c86"><div class="ttname"><a href="structopendal__bytes.html#af7a7f99a262f8a3912f4d1cddb798c86">opendal_bytes::data</a></div><div class="ttdeci">const uint8_t * data</div><div class="ttdef"><b>Definition:</b> opendal.h:238</div></div>
-<div class="ttc" id="astructopendal__error_html"><div class="ttname"><a href="structopendal__error.html">opendal_error</a></div><div class="ttdoc">The opendal error type for C binding, containing an error code and corresponding error message.</div><div class="ttdef"><b>Definition:</b> opendal.h:264</div></div>
-<div class="ttc" id="astructopendal__operator__ptr_html"><div class="ttname"><a href="structopendal__operator__ptr.html">opendal_operator_ptr</a></div><div class="ttdoc">Used to access almost all OpenDAL APIs. It represents a operator that provides the unified interfaces...</div><div class="ttdef"><b>Definition:</b> opendal.h:217</div></div>
-<div class="ttc" id="astructopendal__operator__ptr_html_a17b619ae01bb6471f51f8501ab18dd9b"><div class="ttname"><a href="structopendal__operator__ptr.html#a17b619ae01bb6471f51f8501ab18dd9b">opendal_operator_ptr::ptr</a></div><div class="ttdeci">const struct BlockingOperator * ptr</div><div class="ttdef"><b>Definition:</b> opendal.h:222</div></div>
-<div class="ttc" id="astructopendal__result__read_html"><div class="ttname"><a href="structopendal__result__read.html">opendal_result_read</a></div><div class="ttdoc">The result type returned by opendal's read operation.</div><div class="ttdef"><b>Definition:</b> opendal.h:312</div></div>
-<div class="ttc" id="astructopendal__result__read_html_a6cd0e4e83ed4509856de0d1e6b83e2f2"><div class="ttname"><a href="structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2">opendal_result_read::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:320</div></div>
-<div class="ttc" id="astructopendal__result__read_html_ad8ca467bcbe6d1768e15fcf64fe78e9f"><div class="ttname"><a href="structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f">opendal_result_read::data</a></div><div class="ttdeci">struct opendal_bytes * data</div><div class="ttdef"><b>Definition:</b> opendal.h:316</div></div>
+<div class="ttc" id="astructopendal__bytes_html"><div class="ttname"><a href="structopendal__bytes.html">opendal_bytes</a></div><div class="ttdoc">opendal_bytes carries raw-bytes with its length</div><div class="ttdef"><b>Definition:</b> opendal.h:240</div></div>
+<div class="ttc" id="astructopendal__bytes_html_a16abed2ad211c076650d1ea81772b851"><div class="ttname"><a href="structopendal__bytes.html#a16abed2ad211c076650d1ea81772b851">opendal_bytes::len</a></div><div class="ttdeci">uintptr_t len</div><div class="ttdef"><b>Definition:</b> opendal.h:248</div></div>
+<div class="ttc" id="astructopendal__bytes_html_af7a7f99a262f8a3912f4d1cddb798c86"><div class="ttname"><a href="structopendal__bytes.html#af7a7f99a262f8a3912f4d1cddb798c86">opendal_bytes::data</a></div><div class="ttdeci">const uint8_t * data</div><div class="ttdef"><b>Definition:</b> opendal.h:244</div></div>
+<div class="ttc" id="astructopendal__error_html"><div class="ttname"><a href="structopendal__error.html">opendal_error</a></div><div class="ttdoc">The opendal error type for C binding, containing an error code and corresponding error message.</div><div class="ttdef"><b>Definition:</b> opendal.h:270</div></div>
+<div class="ttc" id="astructopendal__operator__ptr_html"><div class="ttname"><a href="structopendal__operator__ptr.html">opendal_operator_ptr</a></div><div class="ttdoc">Used to access almost all OpenDAL APIs. It represents a operator that provides the unified interfaces...</div><div class="ttdef"><b>Definition:</b> opendal.h:223</div></div>
+<div class="ttc" id="astructopendal__operator__ptr_html_a17b619ae01bb6471f51f8501ab18dd9b"><div class="ttname"><a href="structopendal__operator__ptr.html#a17b619ae01bb6471f51f8501ab18dd9b">opendal_operator_ptr::ptr</a></div><div class="ttdeci">const struct BlockingOperator * ptr</div><div class="ttdef"><b>Definition:</b> opendal.h:228</div></div>
+<div class="ttc" id="astructopendal__result__read_html"><div class="ttname"><a href="structopendal__result__read.html">opendal_result_read</a></div><div class="ttdoc">The result type returned by opendal's read operation.</div><div class="ttdef"><b>Definition:</b> opendal.h:318</div></div>
+<div class="ttc" id="astructopendal__result__read_html_a6cd0e4e83ed4509856de0d1e6b83e2f2"><div class="ttname"><a href="structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2">opendal_result_read::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:326</div></div>
+<div class="ttc" id="astructopendal__result__read_html_ad8ca467bcbe6d1768e15fcf64fe78e9f"><div class="ttname"><a href="structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f">opendal_result_read::data</a></div><div class="ttdeci">struct opendal_bytes * data</div><div class="ttdef"><b>Definition:</b> opendal.h:322</div></div>
</div><!-- fragment --><p>For more examples, please refer to <code>./examples</code></p>
-<h1><a class="anchor" id="autotoc_md33"></a>
+<h1><a class="anchor" id="autotoc_md36"></a>
Prerequisites</h1>
<p>To build OpenDAL C binding, the following is all you need:</p>
<ul>
@@ -166,7 +166,7 @@ Prerequisites</h1>
<div class="line">sudo cp lib/*.a /usr/lib</div>
<div class="line">sudo ln -s /usr/lib/libgtest.a /usr/local/lib/libgtest.a</div>
<div class="line">sudo ln -s /usr/lib/libgtest_main.a /usr/local/lib/libgtest_main.a</div>
-</div><!-- fragment --><h1><a class="anchor" id="autotoc_md34"></a>
+</div><!-- fragment --><h1><a class="anchor" id="autotoc_md37"></a>
Makefile</h1>
<ul>
<li>To <b>build the library and header file</b>.</li>
@@ -186,12 +186,12 @@ Makefile</h1>
<li>To build the <b>examples</b></li>
</ul>
<div class="fragment"><div class="line">make examples</div>
-</div><!-- fragment --><h1><a class="anchor" id="autotoc_md35"></a>
+</div><!-- fragment --><h1><a class="anchor" id="autotoc_md38"></a>
Documentation</h1>
<p>The documentation index page source is under <code>./docs/doxygen/html/index.html</code>. If you want to build the documentations yourself, you could use</p>
<div class="fragment"><div class="line"># this requires you to install doxygen</div>
<div class="line">make doc</div>
-</div><!-- fragment --><h1><a class="anchor" id="autotoc_md36"></a>
+</div><!-- fragment --><h1><a class="anchor" id="autotoc_md39"></a>
License</h1>
<p><a href="https://www.apache.org/licenses/LICENSE-2.0">Apache v2.0</a> </p>
</div></div><!-- PageDoc -->
diff --git a/docs/c/opendal_8h.html b/docs/c/opendal_8h.html
index cac32b5ba..dfd07b0d1 100644
--- a/docs/c/opendal_8h.html
+++ b/docs/c/opendal_8h.html
@@ -102,6 +102,11 @@ Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structopendal__result__read.html">opendal_result_read</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The result type returned by opendal's read operation. <a href="structopendal__result__read.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structopendal__reader.html">opendal_reader</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structopendal__result__reader.html">opendal_result_reader</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The result type returned by opendal_operator_reader(). The result type for opendal_operator_reader(), the field <code>reader</code> contains the reader of the path, which is an iterator of the objects under the path. the field <code>code</code> represents whether the stat operation is successful. <a href="structopendal__result__reader.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structopendal__result__is__exist.html">opendal_result_is_exist</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The result type returned by <a class="el" href="opendal_8h.html#ae5a3bf403cdf78d5c5b1fa9f623f0d80" title="Check whether the path exists.">opendal_operator_is_exist()</a>. <a href="structopendal__result__is__exist.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
@@ -120,6 +125,8 @@ Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structopendal__list__entry.html">opendal_list_entry</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structopendal__list__entry.html" title="opendal_list_entry is the entry under a path, which is listed from the opendal_blocking_lister">opendal_list_entry</a> is the entry under a path, which is listed from the <a class="el" href="structopendal__blocking__lister.html" title="BlockingLister is designed to list entries at given path in a blocking manner.">opendal_blocking_lister</a> <a href="s [...]
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structopendal__result__reader__read.html">opendal_result_reader_read</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
@@ -128,6 +135,8 @@ Typedefs</h2></td></tr>
<tr class="separator:a333cc71b98ca4ce17183c1b4263ddd1f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a03ea17a7d09e319825d05a1d9f5d933c"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="opendal_8h.html#a03ea17a7d09e319825d05a1d9f5d933c">BlockingLister</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#a03ea17a7d09e319825d05a1d9f5d933c">BlockingLister</a></td></tr>
<tr class="separator:a03ea17a7d09e319825d05a1d9f5d933c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8c11fb124aac4911b663122dbfa7d1fa"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="opendal_8h.html#a8c11fb124aac4911b663122dbfa7d1fa">BlockingReader</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#a8c11fb124aac4911b663122dbfa7d1fa">BlockingReader</a></td></tr>
+<tr class="separator:a8c11fb124aac4911b663122dbfa7d1fa"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a65b0d0252adaf76f9ce2004299344de8"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8">Entry</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8">Entry</a></td></tr>
<tr class="separator:a65b0d0252adaf76f9ce2004299344de8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aae5d70fff7f6c87e07b8aa97e08e7191"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#aae5d70fff7f6c87e07b8aa97e08e7191">opendal_operator_ptr</a></td></tr>
@@ -148,6 +157,11 @@ Typedefs</h2></td></tr>
<tr class="memitem:a68a7b0ae2b453dd9ba31ba0d572a4d5d"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structopendal__result__read.html">opendal_result_read</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#a68a7b0ae2b453dd9ba31ba0d572a4d5d">opendal_result_read</a></td></tr>
<tr class="memdesc:a68a7b0ae2b453dd9ba31ba0d572a4d5d"><td class="mdescLeft"> </td><td class="mdescRight">The result type returned by opendal's read operation. <a href="opendal_8h.html#a68a7b0ae2b453dd9ba31ba0d572a4d5d">More...</a><br /></td></tr>
<tr class="separator:a68a7b0ae2b453dd9ba31ba0d572a4d5d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1f2a071a20d13757ba9cd5fde09c1100"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structopendal__reader.html">opendal_reader</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#a1f2a071a20d13757ba9cd5fde09c1100">opendal_reader</a></td></tr>
+<tr class="separator:a1f2a071a20d13757ba9cd5fde09c1100"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7712a472329fe04955dd86a213c78b37"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structopendal__result__reader.html">opendal_result_reader</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#a7712a472329fe04955dd86a213c78b37">opendal_result_reader</a></td></tr>
+<tr class="memdesc:a7712a472329fe04955dd86a213c78b37"><td class="mdescLeft"> </td><td class="mdescRight">The result type returned by opendal_operator_reader(). The result type for opendal_operator_reader(), the field <code>reader</code> contains the reader of the path, which is an iterator of the objects under the path. the field <code>code</code> represents whether the stat operation is successful. <a href="opendal_8h.html#a7712a472329fe04955dd86a213c78b37">More...</a><br /></td></tr>
+<tr class="separator:a7712a472329fe04955dd86a213c78b37"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afbd6b36f0b084ca5fa251ebd5e317abf"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structopendal__result__is__exist.html">opendal_result_is_exist</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#afbd6b36f0b084ca5fa251ebd5e317abf">opendal_result_is_exist</a></td></tr>
<tr class="memdesc:afbd6b36f0b084ca5fa251ebd5e317abf"><td class="mdescLeft"> </td><td class="mdescRight">The result type returned by <a class="el" href="opendal_8h.html#ae5a3bf403cdf78d5c5b1fa9f623f0d80" title="Check whether the path exists.">opendal_operator_is_exist()</a>. <a href="opendal_8h.html#afbd6b36f0b084ca5fa251ebd5e317abf">More...</a><br /></td></tr>
<tr class="separator:afbd6b36f0b084ca5fa251ebd5e317abf"><td class="memSeparator" colspan="2"> </td></tr>
@@ -166,6 +180,8 @@ Typedefs</h2></td></tr>
<tr class="memitem:a3d3583cbe9b8b5281ddbc3c4f78dca33"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structopendal__list__entry.html">opendal_list_entry</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#a3d3583cbe9b8b5281ddbc3c4f78dca33">opendal_list_entry</a></td></tr>
<tr class="memdesc:a3d3583cbe9b8b5281ddbc3c4f78dca33"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structopendal__list__entry.html" title="opendal_list_entry is the entry under a path, which is listed from the opendal_blocking_lister">opendal_list_entry</a> is the entry under a path, which is listed from the <a class="el" href="structopendal__blocking__lister.html" title="BlockingLister is designed to list entries at given path in a blocking manner.">openda [...]
<tr class="separator:a3d3583cbe9b8b5281ddbc3c4f78dca33"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1fc707d831b5e91edd1a34c0f08805ff"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structopendal__result__reader__read.html">opendal_result_reader_read</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#a1fc707d831b5e91edd1a34c0f08805ff">opendal_result_reader_read</a></td></tr>
+<tr class="separator:a1fc707d831b5e91edd1a34c0f08805ff"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
@@ -198,6 +214,9 @@ Functions</h2></td></tr>
<tr class="memitem:ae8fc63885af34e53afbb075dfed39732"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structopendal__result__read.html">opendal_result_read</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#ae8fc63885af34e53afbb075dfed39732">opendal_operator_blocking_read</a> (const struct <a class="el" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *ptr, const char *path)</td></tr>
<tr class="memdesc:ae8fc63885af34e53afbb075dfed39732"><td class="mdescLeft"> </td><td class="mdescRight">Blockingly read the data from <code>path</code>. <a href="opendal_8h.html#ae8fc63885af34e53afbb075dfed39732">More...</a><br /></td></tr>
<tr class="separator:ae8fc63885af34e53afbb075dfed39732"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6285d4da17f5f873bc7a8edd7301fb81"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structopendal__result__reader.html">opendal_result_reader</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#a6285d4da17f5f873bc7a8edd7301fb81">opendal_operator_blocking_reader</a> (const struct <a class="el" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *ptr, const char *path)</td></tr>
+<tr class="memdesc:a6285d4da17f5f873bc7a8edd7301fb81"><td class="mdescLeft"> </td><td class="mdescRight">Blockingly read the data from <code>path</code>. <a href="opendal_8h.html#a6285d4da17f5f873bc7a8edd7301fb81">More...</a><br /></td></tr>
+<tr class="separator:a6285d4da17f5f873bc7a8edd7301fb81"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2ceeec46dfb498f1b6c9f1138d820977"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structopendal__error.html">opendal_error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#a2ceeec46dfb498f1b6c9f1138d820977">opendal_operator_blocking_delete</a> (const struct <a class="el" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *ptr, const char *path)</td></tr>
<tr class="memdesc:a2ceeec46dfb498f1b6c9f1138d820977"><td class="mdescLeft"> </td><td class="mdescRight">Blockingly delete the object in <code>path</code>. <a href="opendal_8h.html#a2ceeec46dfb498f1b6c9f1138d820977">More...</a><br /></td></tr>
<tr class="separator:a2ceeec46dfb498f1b6c9f1138d820977"><td class="memSeparator" colspan="2"> </td></tr>
@@ -255,6 +274,10 @@ Functions</h2></td></tr>
<tr class="memitem:afa415362bf713d7c7869225a7f50f4a5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#afa415362bf713d7c7869225a7f50f4a5">opendal_list_entry_free</a> (struct <a class="el" href="structopendal__list__entry.html">opendal_list_entry</a> *ptr)</td></tr>
<tr class="memdesc:afa415362bf713d7c7869225a7f50f4a5"><td class="mdescLeft"> </td><td class="mdescRight">Frees the heap memory used by the <a class="el" href="structopendal__list__entry.html" title="opendal_list_entry is the entry under a path, which is listed from the opendal_blocking_lister">opendal_list_entry</a>. <a href="opendal_8h.html#afa415362bf713d7c7869225a7f50f4a5">More...</a><br /></td></tr>
<tr class="separator:afa415362bf713d7c7869225a7f50f4a5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae10ef4bd17ee529fbfa8ab6ed9d0e3a4"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structopendal__result__reader__read.html">opendal_result_reader_read</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#ae10ef4bd17ee529fbfa8ab6ed9d0e3a4">opendal_reader_read</a> (const struct <a class="el" href="structopendal__reader.html">opendal_reader</a> *self, uint8_t *buf, uintptr_t len)</td></tr>
+<tr class="separator:ae10ef4bd17ee529fbfa8ab6ed9d0e3a4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7ef708841e8d9a0cebb64a983ef4d472"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="opendal_8h.html#a7ef708841e8d9a0cebb64a983ef4d472">opendal_reader_free</a> (struct <a class="el" href="structopendal__reader.html">opendal_reader</a> *ptr)</td></tr>
+<tr class="separator:a7ef708841e8d9a0cebb64a983ef4d472"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a03ea17a7d09e319825d05a1d9f5d933c"></a>
@@ -271,6 +294,21 @@ Functions</h2></td></tr>
<p>BlockingLister is designed to list entries at given path in a blocking manner.</p>
<p>Users can construct Lister by <code>blocking_lister</code>. </p>
+</div>
+</div>
+<a id="a8c11fb124aac4911b663122dbfa7d1fa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8c11fb124aac4911b663122dbfa7d1fa">◆ </a></span>BlockingReader</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="opendal_8h.html#a8c11fb124aac4911b663122dbfa7d1fa">BlockingReader</a> <a class="el" href="opendal_8h.html#a8c11fb124aac4911b663122dbfa7d1fa">BlockingReader</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>BlockingReader is designed to read data from given path in an blocking manner. </p>
+
</div>
</div>
<a id="a65b0d0252adaf76f9ce2004299344de8"></a>
@@ -480,6 +518,20 @@ Notes</h1>
<dl class="section note"><dt>Note</dt><dd>The <a class="el" href="structopendal__operator__ptr.html" title="Used to access almost all OpenDAL APIs. It represents a operator that provides the unified interfaces...">opendal_operator_ptr</a> actually owns a pointer to a opendal::BlockingOperator, which is inside the Rust core code.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>You may use the field <code>ptr</code> to check whether this is a NULL operator. </dd></dl>
+</div>
+</div>
+<a id="a1f2a071a20d13757ba9cd5fde09c1100"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f2a071a20d13757ba9cd5fde09c1100">◆ </a></span>opendal_reader</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="structopendal__reader.html">opendal_reader</a> <a class="el" href="structopendal__reader.html">opendal_reader</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
</div>
</div>
<a id="afbd6b36f0b084ca5fa251ebd5e317abf"></a>
@@ -554,6 +606,36 @@ Notes</h1>
<p>The result type returned by opendal's read operation. </p>
<p>The result type of read operation in opendal C binding, it contains the data that the read operation returns and an NULL error. If the read operation failed, the <code>data</code> fields should be a nullptr and the error is not NULL. </p>
+</div>
+</div>
+<a id="a7712a472329fe04955dd86a213c78b37"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7712a472329fe04955dd86a213c78b37">◆ </a></span>opendal_result_reader</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="structopendal__result__reader.html">opendal_result_reader</a> <a class="el" href="structopendal__result__reader.html">opendal_result_reader</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>The result type returned by opendal_operator_reader(). The result type for opendal_operator_reader(), the field <code>reader</code> contains the reader of the path, which is an iterator of the objects under the path. the field <code>code</code> represents whether the stat operation is successful. </p>
+
+</div>
+</div>
+<a id="a1fc707d831b5e91edd1a34c0f08805ff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1fc707d831b5e91edd1a34c0f08805ff">◆ </a></span>opendal_result_reader_read</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="structopendal__result__reader__read.html">opendal_result_reader_read</a> <a class="el" href="structopendal__result__reader__read.html">opendal_result_reader_read</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
</div>
</div>
<a id="a07f3f83aa0b650a09986291e47a8ddb0"></a>
@@ -777,7 +859,7 @@ Notes</h1>
</div><div class="memdoc">
<p>Return the content_length of the metadata. </p>
-<h1><a class="anchor" id="autotoc_md26"></a>
+<h1><a class="anchor" id="autotoc_md29"></a>
Example</h1>
<div class="fragment"><div class="line"><span class="comment">// ... previously you wrote "Hello, World!" to path "/testpath"</span></div>
<div class="line"><a class="code" href="structopendal__result__stat.html">opendal_result_stat</a> s = <a class="code" href="opendal_8h.html#aefa1285911f7cf00837e69ba29d2efd3">opendal_operator_stat</a>(ptr, <span class="stringliteral">"/testpath"</span>);</div>
@@ -787,10 +869,10 @@ Example</h1>
<div class="line">assert(<a class="code" href="opendal_8h.html#ac8e9a9da0f04cb80848e7e42c3b90235">opendal_metadata_content_length</a>(meta) == 13);</div>
<div class="ttc" id="aopendal_8h_html_ac8e9a9da0f04cb80848e7e42c3b90235"><div class="ttname"><a href="opendal_8h.html#ac8e9a9da0f04cb80848e7e42c3b90235">opendal_metadata_content_length</a></div><div class="ttdeci">uint64_t opendal_metadata_content_length(const struct opendal_metadata *self)</div><div class="ttdoc">Return the content_length of the metadata.</div></div>
<div class="ttc" id="aopendal_8h_html_aefa1285911f7cf00837e69ba29d2efd3"><div class="ttname"><a href="opendal_8h.html#aefa1285911f7cf00837e69ba29d2efd3">opendal_operator_stat</a></div><div class="ttdeci">struct opendal_result_stat opendal_operator_stat(const struct opendal_operator_ptr *ptr, const char *path)</div><div class="ttdoc">Stat the path, return its metadata.</div></div>
-<div class="ttc" id="astructopendal__metadata_html"><div class="ttname"><a href="structopendal__metadata.html">opendal_metadata</a></div><div class="ttdoc">Carries all metadata associated with a path.</div><div class="ttdef"><b>Definition:</b> opendal.h:355</div></div>
-<div class="ttc" id="astructopendal__result__stat_html"><div class="ttname"><a href="structopendal__result__stat.html">opendal_result_stat</a></div><div class="ttdoc">The result type returned by opendal_operator_stat().</div><div class="ttdef"><b>Definition:</b> opendal.h:370</div></div>
-<div class="ttc" id="astructopendal__result__stat_html_a1d4d484d7bf50bc8e5d65dea5f6f2425"><div class="ttname"><a href="structopendal__result__stat.html#a1d4d484d7bf50bc8e5d65dea5f6f2425">opendal_result_stat::meta</a></div><div class="ttdeci">struct opendal_metadata * meta</div><div class="ttdef"><b>Definition:</b> opendal.h:374</div></div>
-<div class="ttc" id="astructopendal__result__stat_html_a657eee3bfdf805036f169d94ee70dce9"><div class="ttname"><a href="structopendal__result__stat.html#a657eee3bfdf805036f169d94ee70dce9">opendal_result_stat::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:378</div></div>
+<div class="ttc" id="astructopendal__metadata_html"><div class="ttname"><a href="structopendal__metadata.html">opendal_metadata</a></div><div class="ttdoc">Carries all metadata associated with a path.</div><div class="ttdef"><b>Definition:</b> opendal.h:376</div></div>
+<div class="ttc" id="astructopendal__result__stat_html"><div class="ttname"><a href="structopendal__result__stat.html">opendal_result_stat</a></div><div class="ttdoc">The result type returned by opendal_operator_stat().</div><div class="ttdef"><b>Definition:</b> opendal.h:391</div></div>
+<div class="ttc" id="astructopendal__result__stat_html_a1d4d484d7bf50bc8e5d65dea5f6f2425"><div class="ttname"><a href="structopendal__result__stat.html#a1d4d484d7bf50bc8e5d65dea5f6f2425">opendal_result_stat::meta</a></div><div class="ttdeci">struct opendal_metadata * meta</div><div class="ttdef"><b>Definition:</b> opendal.h:395</div></div>
+<div class="ttc" id="astructopendal__result__stat_html_a657eee3bfdf805036f169d94ee70dce9"><div class="ttname"><a href="structopendal__result__stat.html#a657eee3bfdf805036f169d94ee70dce9">opendal_result_stat::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:399</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -831,7 +913,7 @@ Example</h1>
</div><div class="memdoc">
<p>Return whether the path represents a directory. </p>
-<h1><a class="anchor" id="autotoc_md28"></a>
+<h1><a class="anchor" id="autotoc_md31"></a>
Example</h1>
<div class="fragment"><div class="line"><span class="comment">// ... previously you wrote "Hello, World!" to path "/testpath"</span></div>
<div class="line"><a class="code" href="structopendal__result__stat.html">opendal_result_stat</a> s = <a class="code" href="opendal_8h.html#aefa1285911f7cf00837e69ba29d2efd3">opendal_operator_stat</a>(ptr, <span class="stringliteral">"/testpath"</span>);</div>
@@ -863,7 +945,7 @@ Example</h1>
</div><div class="memdoc">
<p>Return whether the path represents a file. </p>
-<h1><a class="anchor" id="autotoc_md27"></a>
+<h1><a class="anchor" id="autotoc_md30"></a>
Example</h1>
<div class="fragment"><div class="line"><span class="comment">// ... previously you wrote "Hello, World!" to path "/testpath"</span></div>
<div class="line"><a class="code" href="structopendal__result__stat.html">opendal_result_stat</a> s = <a class="code" href="opendal_8h.html#aefa1285911f7cf00837e69ba29d2efd3">opendal_operator_stat</a>(ptr, <span class="stringliteral">"/testpath"</span>);</div>
@@ -914,7 +996,7 @@ Example</h1>
<dd>
<a class="el" href="structopendal__error.html" title="The opendal error type for C binding, containing an error code and corresponding error message.">opendal_error</a> </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>NULL if succeeds, otherwise it contains the error code and error message.</dd></dl>
-<h1><a class="anchor" id="autotoc_md13"></a>
+<h1><a class="anchor" id="autotoc_md16"></a>
Example</h1>
<p>Following is an example </p><div class="fragment"><div class="line"><span class="comment">//...prepare your opendal_operator_ptr, named ptr for example</span></div>
<div class="line"> </div>
@@ -932,15 +1014,15 @@ Example</h1>
<div class="line">assert(error == NULL);</div>
<div class="ttc" id="aopendal_8h_html_a2ceeec46dfb498f1b6c9f1138d820977"><div class="ttname"><a href="opendal_8h.html#a2ceeec46dfb498f1b6c9f1138d820977">opendal_operator_blocking_delete</a></div><div class="ttdeci">struct opendal_error * opendal_operator_blocking_delete(const struct opendal_operator_ptr *ptr, const char *path)</div><div class="ttdoc">Blockingly delete the object in path.</div></div>
<div class="ttc" id="aopendal_8h_html_a39c13941f26a7a1bbb0b52cbb7af61b9"><div class="ttname"><a href="opendal_8h.html#a39c13941f26a7a1bbb0b52cbb7af61b9">opendal_operator_blocking_write</a></div><div class="ttdeci">struct opendal_error * opendal_operator_blocking_write(const struct opendal_operator_ptr *ptr, const char *path, struct opendal_bytes bytes)</div><div class="ttdoc">Blockingly write raw bytes to path.</div></div>
-<div class="ttc" id="astructopendal__bytes_html"><div class="ttname"><a href="structopendal__bytes.html">opendal_bytes</a></div><div class="ttdoc">opendal_bytes carries raw-bytes with its length</div><div class="ttdef"><b>Definition:</b> opendal.h:234</div></div>
-<div class="ttc" id="astructopendal__bytes_html_af7a7f99a262f8a3912f4d1cddb798c86"><div class="ttname"><a href="structopendal__bytes.html#af7a7f99a262f8a3912f4d1cddb798c86">opendal_bytes::data</a></div><div class="ttdeci">const uint8_t * data</div><div class="ttdef"><b>Definition:</b> opendal.h:238</div></div>
-<div class="ttc" id="astructopendal__error_html"><div class="ttname"><a href="structopendal__error.html">opendal_error</a></div><div class="ttdoc">The opendal error type for C binding, containing an error code and corresponding error message.</div><div class="ttdef"><b>Definition:</b> opendal.h:264</div></div>
-</div><!-- fragment --><h1><a class="anchor" id="autotoc_md14"></a>
+<div class="ttc" id="astructopendal__bytes_html"><div class="ttname"><a href="structopendal__bytes.html">opendal_bytes</a></div><div class="ttdoc">opendal_bytes carries raw-bytes with its length</div><div class="ttdef"><b>Definition:</b> opendal.h:240</div></div>
+<div class="ttc" id="astructopendal__bytes_html_af7a7f99a262f8a3912f4d1cddb798c86"><div class="ttname"><a href="structopendal__bytes.html#af7a7f99a262f8a3912f4d1cddb798c86">opendal_bytes::data</a></div><div class="ttdeci">const uint8_t * data</div><div class="ttdef"><b>Definition:</b> opendal.h:244</div></div>
+<div class="ttc" id="astructopendal__error_html"><div class="ttname"><a href="structopendal__error.html">opendal_error</a></div><div class="ttdoc">The opendal error type for C binding, containing an error code and corresponding error message.</div><div class="ttdef"><b>Definition:</b> opendal.h:270</div></div>
+</div><!-- fragment --><h1><a class="anchor" id="autotoc_md17"></a>
Safety</h1>
<p>It is <b>safe</b> under the cases below</p><ul>
<li>The memory pointed to by <code>path</code> must contain a valid nul terminator at the end of the string.</li>
</ul>
-<h1><a class="anchor" id="autotoc_md15"></a>
+<h1><a class="anchor" id="autotoc_md18"></a>
Panic</h1>
<ul>
<li>If the <code>path</code> points to NULL, this function panics, i.e. exits with information </li>
@@ -985,7 +1067,7 @@ Panic</h1>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structopendal__blocking__lister.html" title="BlockingLister is designed to list entries at given path in a blocking manner.">opendal_blocking_lister</a> </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Returns <a class="el" href="structopendal__result__list.html" title="The result type returned by opendal_operator_blocking_list().">opendal_result_list</a>, containing a lister and an <a class="el" href="structopendal__error.html" title="The opendal error type for C binding, containing an error code and corresponding error message.">opendal_error</a>. If the operation succeeds, the <code>lister</code> field would holds a valid lister and the [...]
-<h1><a class="anchor" id="autotoc_md22"></a>
+<h1><a class="anchor" id="autotoc_md25"></a>
Example</h1>
<p>Following is an example </p><div class="fragment"><div class="line"><span class="comment">// You have written some data into some files path "root/dir1"</span></div>
<div class="line"><span class="comment">// Your opendal_operator_ptr was called ptr</span></div>
@@ -1012,17 +1094,17 @@ Example</h1>
<div class="ttc" id="aopendal_8h_html_a844f3a690078c34af557ae83e1f1513f"><div class="ttname"><a href="opendal_8h.html#a844f3a690078c34af557ae83e1f1513f">opendal_operator_blocking_list</a></div><div class="ttdeci">struct opendal_result_list opendal_operator_blocking_list(const struct opendal_operator_ptr *ptr, const char *path)</div><div class="ttdoc">Blockingly list the objects in path.</div></div>
<div class="ttc" id="aopendal_8h_html_ac9b6091ec4c8aa0333727b34de3fa845"><div class="ttname"><a href="opendal_8h.html#ac9b6091ec4c8aa0333727b34de3fa845">opendal_list_entry_name</a></div><div class="ttdeci">char * opendal_list_entry_name(const struct opendal_list_entry *self)</div><div class="ttdoc">Name of entry.</div></div>
<div class="ttc" id="aopendal_8h_html_afa415362bf713d7c7869225a7f50f4a5"><div class="ttname"><a href="opendal_8h.html#afa415362bf713d7c7869225a7f50f4a5">opendal_list_entry_free</a></div><div class="ttdeci">void opendal_list_entry_free(struct opendal_list_entry *ptr)</div><div class="ttdoc">Frees the heap memory used by the opendal_list_entry.</div></div>
-<div class="ttc" id="astructopendal__blocking__lister_html"><div class="ttname"><a href="structopendal__blocking__lister.html">opendal_blocking_lister</a></div><div class="ttdoc">BlockingLister is designed to list entries at given path in a blocking manner.</div><div class="ttdef"><b>Definition:</b> opendal.h:390</div></div>
-<div class="ttc" id="astructopendal__list__entry_html"><div class="ttname"><a href="structopendal__list__entry.html">opendal_list_entry</a></div><div class="ttdoc">opendal_list_entry is the entry under a path, which is listed from the opendal_blocking_lister</div><div class="ttdef"><b>Definition:</b> opendal.h:420</div></div>
-<div class="ttc" id="astructopendal__result__list_html"><div class="ttname"><a href="structopendal__result__list.html">opendal_result_list</a></div><div class="ttdoc">The result type returned by opendal_operator_blocking_list().</div><div class="ttdef"><b>Definition:</b> opendal.h:401</div></div>
-<div class="ttc" id="astructopendal__result__list_html_a1388cb447f532ecd19ff9a13e09daced"><div class="ttname"><a href="structopendal__result__list.html#a1388cb447f532ecd19ff9a13e09daced">opendal_result_list::lister</a></div><div class="ttdeci">struct opendal_blocking_lister * lister</div><div class="ttdef"><b>Definition:</b> opendal.h:405</div></div>
-<div class="ttc" id="astructopendal__result__list_html_a874bfb5c9d016445698fb59d65b76ed2"><div class="ttname"><a href="structopendal__result__list.html#a874bfb5c9d016445698fb59d65b76ed2">opendal_result_list::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:409</div></div>
-</div><!-- fragment --><h1><a class="anchor" id="autotoc_md23"></a>
+<div class="ttc" id="astructopendal__blocking__lister_html"><div class="ttname"><a href="structopendal__blocking__lister.html">opendal_blocking_lister</a></div><div class="ttdoc">BlockingLister is designed to list entries at given path in a blocking manner.</div><div class="ttdef"><b>Definition:</b> opendal.h:411</div></div>
+<div class="ttc" id="astructopendal__list__entry_html"><div class="ttname"><a href="structopendal__list__entry.html">opendal_list_entry</a></div><div class="ttdoc">opendal_list_entry is the entry under a path, which is listed from the opendal_blocking_lister</div><div class="ttdef"><b>Definition:</b> opendal.h:441</div></div>
+<div class="ttc" id="astructopendal__result__list_html"><div class="ttname"><a href="structopendal__result__list.html">opendal_result_list</a></div><div class="ttdoc">The result type returned by opendal_operator_blocking_list().</div><div class="ttdef"><b>Definition:</b> opendal.h:422</div></div>
+<div class="ttc" id="astructopendal__result__list_html_a1388cb447f532ecd19ff9a13e09daced"><div class="ttname"><a href="structopendal__result__list.html#a1388cb447f532ecd19ff9a13e09daced">opendal_result_list::lister</a></div><div class="ttdeci">struct opendal_blocking_lister * lister</div><div class="ttdef"><b>Definition:</b> opendal.h:426</div></div>
+<div class="ttc" id="astructopendal__result__list_html_a874bfb5c9d016445698fb59d65b76ed2"><div class="ttname"><a href="structopendal__result__list.html#a874bfb5c9d016445698fb59d65b76ed2">opendal_result_list::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:430</div></div>
+</div><!-- fragment --><h1><a class="anchor" id="autotoc_md26"></a>
Safety</h1>
<p>It is <b>safe</b> under the cases below</p><ul>
<li>The memory pointed to by <code>path</code> must contain a valid nul terminator at the end of the string.</li>
</ul>
-<h1><a class="anchor" id="autotoc_md24"></a>
+<h1><a class="anchor" id="autotoc_md27"></a>
Panic</h1>
<ul>
<li>If the <code>path</code> points to NULL, this function panics, i.e. exits with information </li>
@@ -1082,10 +1164,10 @@ Example</h1>
<div class="line"><a class="code" href="structopendal__bytes.html">opendal_bytes</a> *bytes = r.<a class="code" href="structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f">data</a>;</div>
<div class="line">assert(bytes-><a class="code" href="structopendal__bytes.html#a16abed2ad211c076650d1ea81772b851">len</a> == 13);</div>
<div class="ttc" id="aopendal_8h_html_ae8fc63885af34e53afbb075dfed39732"><div class="ttname"><a href="opendal_8h.html#ae8fc63885af34e53afbb075dfed39732">opendal_operator_blocking_read</a></div><div class="ttdeci">struct opendal_result_read opendal_operator_blocking_read(const struct opendal_operator_ptr *ptr, const char *path)</div><div class="ttdoc">Blockingly read the data from path.</div></div>
-<div class="ttc" id="astructopendal__bytes_html_a16abed2ad211c076650d1ea81772b851"><div class="ttname"><a href="structopendal__bytes.html#a16abed2ad211c076650d1ea81772b851">opendal_bytes::len</a></div><div class="ttdeci">uintptr_t len</div><div class="ttdef"><b>Definition:</b> opendal.h:242</div></div>
-<div class="ttc" id="astructopendal__result__read_html"><div class="ttname"><a href="structopendal__result__read.html">opendal_result_read</a></div><div class="ttdoc">The result type returned by opendal's read operation.</div><div class="ttdef"><b>Definition:</b> opendal.h:312</div></div>
-<div class="ttc" id="astructopendal__result__read_html_a6cd0e4e83ed4509856de0d1e6b83e2f2"><div class="ttname"><a href="structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2">opendal_result_read::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:320</div></div>
-<div class="ttc" id="astructopendal__result__read_html_ad8ca467bcbe6d1768e15fcf64fe78e9f"><div class="ttname"><a href="structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f">opendal_result_read::data</a></div><div class="ttdeci">struct opendal_bytes * data</div><div class="ttdef"><b>Definition:</b> opendal.h:316</div></div>
+<div class="ttc" id="astructopendal__bytes_html_a16abed2ad211c076650d1ea81772b851"><div class="ttname"><a href="structopendal__bytes.html#a16abed2ad211c076650d1ea81772b851">opendal_bytes::len</a></div><div class="ttdeci">uintptr_t len</div><div class="ttdef"><b>Definition:</b> opendal.h:248</div></div>
+<div class="ttc" id="astructopendal__result__read_html"><div class="ttname"><a href="structopendal__result__read.html">opendal_result_read</a></div><div class="ttdoc">The result type returned by opendal's read operation.</div><div class="ttdef"><b>Definition:</b> opendal.h:318</div></div>
+<div class="ttc" id="astructopendal__result__read_html_a6cd0e4e83ed4509856de0d1e6b83e2f2"><div class="ttname"><a href="structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2">opendal_result_read::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:326</div></div>
+<div class="ttc" id="astructopendal__result__read_html_ad8ca467bcbe6d1768e15fcf64fe78e9f"><div class="ttname"><a href="structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f">opendal_result_read::data</a></div><div class="ttdeci">struct opendal_bytes * data</div><div class="ttdef"><b>Definition:</b> opendal.h:322</div></div>
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md11"></a>
Safety</h1>
<p>It is <b>safe</b> under the cases below</p><ul>
@@ -1097,6 +1179,73 @@ Panic</h1>
<li>If the <code>path</code> points to NULL, this function panics, i.e. exits with information </li>
</ul>
+</div>
+</div>
+<a id="a6285d4da17f5f873bc7a8edd7301fb81"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6285d4da17f5f873bc7a8edd7301fb81">◆ </a></span>opendal_operator_blocking_reader()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structopendal__result__reader.html">opendal_result_reader</a> opendal_operator_blocking_reader </td>
+ <td>(</td>
+ <td class="paramtype">const struct <a class="el" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> * </td>
+ <td class="paramname"><em>ptr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>path</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Blockingly read the data from <code>path</code>. </p>
+<p>Read the data out from <code>path</code> blockingly by operator, returns an <a class="el" href="structopendal__result__read.html" title="The result type returned by opendal's read operation.">opendal_result_read</a> with error code.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ptr</td><td>The <a class="el" href="structopendal__operator__ptr.html" title="Used to access almost all OpenDAL APIs. It represents a operator that provides the unified interfaces...">opendal_operator_ptr</a> created previously </td></tr>
+ <tr><td class="paramname">path</td><td>The path you want to read the data out </td></tr>
+ <tr><td class="paramname">buffer</td><td>The buffer you want to read the data into </td></tr>
+ <tr><td class="paramname">buffer_len</td><td>The length of the buffer </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="structopendal__operator__ptr.html" title="Used to access almost all OpenDAL APIs. It represents a operator that provides the unified interfaces...">opendal_operator_ptr</a> </dd>
+<dd>
+<a class="el" href="structopendal__result__read.html" title="The result type returned by opendal's read operation.">opendal_result_read</a> </dd>
+<dd>
+<a class="el" href="opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2" title="The error code for all opendal APIs in C binding.">opendal_code</a> </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns opendal_code</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>If the read operation succeeds, the returned <a class="el" href="structopendal__bytes.html" title="opendal_bytes carries raw-bytes with its length">opendal_bytes</a> is newly allocated on heap. After your usage of that, please call <a class="el" href="opendal_8h.html#aea5253c2bbe9438349eebb68a18a82ea" title="Frees the heap memory used by the opendal_bytes.">opendal_bytes_free()</a> to free the space.</dd></dl>
+<h1><a class="anchor" id="autotoc_md13"></a>
+Example</h1>
+<p>Following is an example </p><div class="fragment"><div class="line"><span class="comment">// ... you have write "Hello, World!" to path "/testpath"</span></div>
+<div class="line"> </div>
+<div class="line"><span class="keywordtype">int</span> length = 13;</div>
+<div class="line"><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> buffer[length];</div>
+<div class="line"><a class="code" href="opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2">opendal_code</a> r = opendal_operator_blocking_read_with_buffer(ptr, <span class="stringliteral">"testpath"</span>, buffer, length);</div>
+<div class="line">assert(r == OPENDAL_OK);</div>
+<div class="line"><span class="comment">// assert buffer == "Hello, World!"</span></div>
+<div class="ttc" id="aopendal_8h_html_a6715be152766e5b8f840ce10cf9442c2"><div class="ttname"><a href="opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2">opendal_code</a></div><div class="ttdeci">opendal_code</div><div class="ttdoc">The error code for all opendal APIs in C binding.</div><div class="ttdef"><b>Definition:</b> opendal.h:33</div></div>
+</div><!-- fragment --><h1><a class="anchor" id="autotoc_md14"></a>
+Safety</h1>
+<p>It is <b>safe</b> under the cases below</p><ul>
+<li>The memory pointed to by <code>path</code> must contain a valid nul terminator at the end of the string.</li>
+</ul>
+<h1><a class="anchor" id="autotoc_md15"></a>
+Panic</h1>
+<ul>
+<li>If the <code>path</code> points to NULL, this function panics, i.e. exits with information </li>
+</ul>
+
</div>
</div>
<a id="a39c13941f26a7a1bbb0b52cbb7af61b9"></a>
@@ -1193,7 +1342,7 @@ Panic</h1>
<p>Free the heap-allocated operator pointed by <a class="el" href="structopendal__operator__ptr.html" title="Used to access almost all OpenDAL APIs. It represents a operator that provides the unified interfaces...">opendal_operator_ptr</a>. </p>
<p>Please only use this for a pointer pointing at a valid <a class="el" href="structopendal__operator__ptr.html" title="Used to access almost all OpenDAL APIs. It represents a operator that provides the unified interfaces...">opendal_operator_ptr</a>. Calling this function on NULL does nothing, but calling this function on pointers of other type will lead to segfault.</p>
-<h1><a class="anchor" id="autotoc_md25"></a>
+<h1><a class="anchor" id="autotoc_md28"></a>
Example</h1>
<div class="fragment"><div class="line"><a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *ptr = <a class="code" href="opendal_8h.html#a3b32f655689a122d2b6feff169fac442">opendal_operator_new</a>(<span class="stringliteral">"fs"</span>, NULL);</div>
<div class="line"><span class="comment">// ... use this ptr, maybe some reads and writes</span></div>
@@ -1202,7 +1351,7 @@ Example</h1>
<div class="line"><a class="code" href="opendal_8h.html#a3e038035b4339e19f24e1aa8ef678def">opendal_operator_free</a>(ptr);</div>
<div class="ttc" id="aopendal_8h_html_a3b32f655689a122d2b6feff169fac442"><div class="ttname"><a href="opendal_8h.html#a3b32f655689a122d2b6feff169fac442">opendal_operator_new</a></div><div class="ttdeci">struct opendal_result_operator_new opendal_operator_new(const char *scheme, const struct opendal_operator_options *options)</div><div class="ttdoc">Construct an operator based on scheme and options</div></div>
<div class="ttc" id="aopendal_8h_html_a3e038035b4339e19f24e1aa8ef678def"><div class="ttname"><a href="opendal_8h.html#a3e038035b4339e19f24e1aa8ef678def">opendal_operator_free</a></div><div class="ttdeci">void opendal_operator_free(const struct opendal_operator_ptr *op)</div><div class="ttdoc">Free the heap-allocated operator pointed by opendal_operator_ptr.</div></div>
-<div class="ttc" id="astructopendal__operator__ptr_html"><div class="ttname"><a href="structopendal__operator__ptr.html">opendal_operator_ptr</a></div><div class="ttdoc">Used to access almost all OpenDAL APIs. It represents a operator that provides the unified interfaces...</div><div class="ttdef"><b>Definition:</b> opendal.h:217</div></div>
+<div class="ttc" id="astructopendal__operator__ptr_html"><div class="ttname"><a href="structopendal__operator__ptr.html">opendal_operator_ptr</a></div><div class="ttdoc">Used to access almost all OpenDAL APIs. It represents a operator that provides the unified interfaces...</div><div class="ttdef"><b>Definition:</b> opendal.h:223</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1247,7 +1396,7 @@ Example</h1>
<dd>
<a class="el" href="structopendal__error.html" title="The opendal error type for C binding, containing an error code and corresponding error message.">opendal_error</a> </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Returns <a class="el" href="structopendal__result__is__exist.html" title="The result type returned by opendal_operator_is_exist().">opendal_result_is_exist</a>, the <code>is_exist</code> field contains whether the path exists. However, it the operation fails, the <code>is_exist</code> will contains false and the error will be set.</dd></dl>
-<h1><a class="anchor" id="autotoc_md16"></a>
+<h1><a class="anchor" id="autotoc_md19"></a>
Example</h1>
<div class="fragment"><div class="line"><span class="comment">// .. you previously wrote some data to path "/mytest/obj"</span></div>
<div class="line"><a class="code" href="structopendal__result__is__exist.html">opendal_result_is_exist</a> e = <a class="code" href="opendal_8h.html#ae5a3bf403cdf78d5c5b1fa9f623f0d80">opendal_operator_is_exist</a>(ptr, <span class="stringliteral">"/mytest/obj"</span>);</div>
@@ -1259,15 +1408,15 @@ Example</h1>
<div class="line">assert(e.<a class="code" href="structopendal__result__is__exist.html#a6dc61502ab68ba25bcd56b09a215de6c">error</a> == NULL);</div>
<div class="line">assert(!e.<a class="code" href="structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295">is_exist</a>);</div>
<div class="ttc" id="aopendal_8h_html_ae5a3bf403cdf78d5c5b1fa9f623f0d80"><div class="ttname"><a href="opendal_8h.html#ae5a3bf403cdf78d5c5b1fa9f623f0d80">opendal_operator_is_exist</a></div><div class="ttdeci">struct opendal_result_is_exist opendal_operator_is_exist(const struct opendal_operator_ptr *ptr, const char *path)</div><div class="ttdoc">Check whether the path exists.</div></div>
-<div class="ttc" id="astructopendal__result__is__exist_html"><div class="ttname"><a href="structopendal__result__is__exist.html">opendal_result_is_exist</a></div><div class="ttdoc">The result type returned by opendal_operator_is_exist().</div><div class="ttdef"><b>Definition:</b> opendal.h:333</div></div>
-<div class="ttc" id="astructopendal__result__is__exist_html_a6dc61502ab68ba25bcd56b09a215de6c"><div class="ttname"><a href="structopendal__result__is__exist.html#a6dc61502ab68ba25bcd56b09a215de6c">opendal_result_is_exist::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:341</div></div>
-<div class="ttc" id="astructopendal__result__is__exist_html_abe145d68333ea78b438ef92a12d9d295"><div class="ttname"><a href="structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295">opendal_result_is_exist::is_exist</a></div><div class="ttdeci">bool is_exist</div><div class="ttdef"><b>Definition:</b> opendal.h:337</div></div>
-</div><!-- fragment --><h1><a class="anchor" id="autotoc_md17"></a>
+<div class="ttc" id="astructopendal__result__is__exist_html"><div class="ttname"><a href="structopendal__result__is__exist.html">opendal_result_is_exist</a></div><div class="ttdoc">The result type returned by opendal_operator_is_exist().</div><div class="ttdef"><b>Definition:</b> opendal.h:354</div></div>
+<div class="ttc" id="astructopendal__result__is__exist_html_a6dc61502ab68ba25bcd56b09a215de6c"><div class="ttname"><a href="structopendal__result__is__exist.html#a6dc61502ab68ba25bcd56b09a215de6c">opendal_result_is_exist::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:362</div></div>
+<div class="ttc" id="astructopendal__result__is__exist_html_abe145d68333ea78b438ef92a12d9d295"><div class="ttname"><a href="structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295">opendal_result_is_exist::is_exist</a></div><div class="ttdeci">bool is_exist</div><div class="ttdef"><b>Definition:</b> opendal.h:358</div></div>
+</div><!-- fragment --><h1><a class="anchor" id="autotoc_md20"></a>
Safety</h1>
<p>It is <b>safe</b> under the cases below</p><ul>
<li>The memory pointed to by <code>path</code> must contain a valid nul terminator at the end of the string.</li>
</ul>
-<h1><a class="anchor" id="autotoc_md18"></a>
+<h1><a class="anchor" id="autotoc_md21"></a>
Panic</h1>
<ul>
<li>If the <code>path</code> points to NULL, this function panics, i.e. exits with information </li>
@@ -1330,9 +1479,9 @@ Example</h1>
<div class="ttc" id="aopendal_8h_html_a1d65b173b087b2abca126de2e951b412"><div class="ttname"><a href="opendal_8h.html#a1d65b173b087b2abca126de2e951b412">opendal_operator_options_free</a></div><div class="ttdeci">void opendal_operator_options_free(const struct opendal_operator_options *options)</div><div class="ttdoc">Free the allocated memory used by [opendal_operator_options].</div></div>
<div class="ttc" id="aopendal_8h_html_a67b1457f2b1258551552dc383840f288"><div class="ttname"><a href="opendal_8h.html#a67b1457f2b1258551552dc383840f288">opendal_operator_options_new</a></div><div class="ttdeci">struct opendal_operator_options * opendal_operator_options_new(void)</div><div class="ttdoc">Construct a heap-allocated opendal_operator_options.</div></div>
<div class="ttc" id="aopendal_8h_html_af408af922875eb26c25cef4ddfdede02"><div class="ttname"><a href="opendal_8h.html#af408af922875eb26c25cef4ddfdede02">opendal_operator_options_set</a></div><div class="ttdeci">void opendal_operator_options_set(struct opendal_operator_options *self, const char *key, const char *value)</div><div class="ttdoc">Set a Key-Value pair inside opendal_operator_options.</div></div>
-<div class="ttc" id="astructopendal__operator__options_html"><div class="ttname"><a href="structopendal__operator__options.html">opendal_operator_options</a></div><div class="ttdoc">The configuration for the initialization of opendal_operator_ptr.</div><div class="ttdef"><b>Definition:</b> opendal.h:296</div></div>
-<div class="ttc" id="astructopendal__result__operator__new_html"><div class="ttname"><a href="structopendal__result__operator__new.html">opendal_result_operator_new</a></div><div class="ttdoc">The result type returned by opendal_operator_new() operation.</div><div class="ttdef"><b>Definition:</b> opendal.h:281</div></div>
-<div class="ttc" id="astructopendal__result__operator__new_html_a1998b1bb97c81253564e0a9228759891"><div class="ttname"><a href="structopendal__result__operator__new.html#a1998b1bb97c81253564e0a9228759891">opendal_result_operator_new::operator_ptr</a></div><div class="ttdeci">struct opendal_operator_ptr * operator_ptr</div><div class="ttdef"><b>Definition:</b> opendal.h:282</div></div>
+<div class="ttc" id="astructopendal__operator__options_html"><div class="ttname"><a href="structopendal__operator__options.html">opendal_operator_options</a></div><div class="ttdoc">The configuration for the initialization of opendal_operator_ptr.</div><div class="ttdef"><b>Definition:</b> opendal.h:302</div></div>
+<div class="ttc" id="astructopendal__result__operator__new_html"><div class="ttname"><a href="structopendal__result__operator__new.html">opendal_result_operator_new</a></div><div class="ttdoc">The result type returned by opendal_operator_new() operation.</div><div class="ttdef"><b>Definition:</b> opendal.h:287</div></div>
+<div class="ttc" id="astructopendal__result__operator__new_html_a1998b1bb97c81253564e0a9228759891"><div class="ttname"><a href="structopendal__result__operator__new.html#a1998b1bb97c81253564e0a9228759891">opendal_result_operator_new::operator_ptr</a></div><div class="ttdeci">struct opendal_operator_ptr * operator_ptr</div><div class="ttdef"><b>Definition:</b> opendal.h:288</div></div>
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md6"></a>
Safety</h1>
<p>The only unsafe case is passing a invalid c string pointer to the <code>scheme</code> argument. </p>
@@ -1414,10 +1563,10 @@ Safety</h1>
</div><div class="memdoc">
<p>Set a Key-Value pair inside <a class="el" href="structopendal__operator__options.html" title="The configuration for the initialization of opendal_operator_ptr.">opendal_operator_options</a>. </p>
-<h1><a class="anchor" id="autotoc_md29"></a>
+<h1><a class="anchor" id="autotoc_md32"></a>
Safety</h1>
<p>This function is unsafe because it dereferences and casts the raw pointers Make sure the pointer of <code>key</code> and <code>value</code> point to a valid string.</p>
-<h1><a class="anchor" id="autotoc_md30"></a>
+<h1><a class="anchor" id="autotoc_md33"></a>
Example</h1>
<div class="fragment"><div class="line"><a class="code" href="structopendal__operator__options.html">opendal_operator_options</a> *options = <a class="code" href="opendal_8h.html#a67b1457f2b1258551552dc383840f288">opendal_operator_options_new</a>();</div>
<div class="line"><a class="code" href="opendal_8h.html#af408af922875eb26c25cef4ddfdede02">opendal_operator_options_set</a>(options, <span class="stringliteral">"root"</span>, <span class="stringliteral">"/myroot"</span>);</div>
@@ -1469,7 +1618,7 @@ Example</h1>
<dd>
<a class="el" href="structopendal__metadata.html" title="Carries all metadata associated with a path.">opendal_metadata</a> </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Returns <a class="el" href="structopendal__result__stat.html" title="The result type returned by opendal_operator_stat().">opendal_result_stat</a>, containing a metadata and an <a class="el" href="structopendal__error.html" title="The opendal error type for C binding, containing an error code and corresponding error message.">opendal_error</a>. If the operation succeeds, the <code>meta</code> field would holds a valid metadata and the <code> [...]
-<h1><a class="anchor" id="autotoc_md19"></a>
+<h1><a class="anchor" id="autotoc_md22"></a>
Example</h1>
<div class="fragment"><div class="line"><span class="comment">// ... previously you wrote "Hello, World!" to path "/testpath"</span></div>
<div class="line"><a class="code" href="structopendal__result__stat.html">opendal_result_stat</a> s = <a class="code" href="opendal_8h.html#aefa1285911f7cf00837e69ba29d2efd3">opendal_operator_stat</a>(ptr, <span class="stringliteral">"/testpath"</span>);</div>
@@ -1479,17 +1628,69 @@ Example</h1>
<div class="line"> </div>
<div class="line"><span class="comment">// ... you could now use your metadata, notice that please only access metadata</span></div>
<div class="line"><span class="comment">// using the APIs provided by OpenDAL</span></div>
-</div><!-- fragment --><h1><a class="anchor" id="autotoc_md20"></a>
+</div><!-- fragment --><h1><a class="anchor" id="autotoc_md23"></a>
Safety</h1>
<p>It is <b>safe</b> under the cases below</p><ul>
<li>The memory pointed to by <code>path</code> must contain a valid nul terminator at the end of the string.</li>
</ul>
-<h1><a class="anchor" id="autotoc_md21"></a>
+<h1><a class="anchor" id="autotoc_md24"></a>
Panic</h1>
<ul>
<li>If the <code>path</code> points to NULL, this function panics, i.e. exits with information </li>
</ul>
+</div>
+</div>
+<a id="a7ef708841e8d9a0cebb64a983ef4d472"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7ef708841e8d9a0cebb64a983ef4d472">◆ </a></span>opendal_reader_free()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void opendal_reader_free </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structopendal__reader.html">opendal_reader</a> * </td>
+ <td class="paramname"><em>ptr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae10ef4bd17ee529fbfa8ab6ed9d0e3a4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae10ef4bd17ee529fbfa8ab6ed9d0e3a4">◆ </a></span>opendal_reader_read()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structopendal__result__reader__read.html">opendal_result_reader_read</a> opendal_reader_read </td>
+ <td>(</td>
+ <td class="paramtype">const struct <a class="el" href="structopendal__reader.html">opendal_reader</a> * </td>
+ <td class="paramname"><em>self</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint8_t * </td>
+ <td class="paramname"><em>buf</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uintptr_t </td>
+ <td class="paramname"><em>len</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
</div>
</div>
</div><!-- contents -->
diff --git a/docs/c/opendal_8h_source.html b/docs/c/opendal_8h_source.html
index 0765b592c..ed20de397 100644
--- a/docs/c/opendal_8h_source.html
+++ b/docs/c/opendal_8h_source.html
@@ -115,136 +115,163 @@ $(function() {
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  </div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>BlockingOperator BlockingOperator;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  </div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8">Entry</a> <a class="code" href="opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8">Entry</a>;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  </div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>HashMap_String__String HashMap_String__String;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  </div>
-<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>Metadata Metadata;</div>
-<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  </div>
-<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="structopendal__operator__ptr.html"> 217</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> {</div>
-<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="structopendal__operator__ptr.html#a17b619ae01bb6471f51f8501ab18dd9b"> 222</a></span>  <span class="keyword">const</span> <span class="keyword">struct </span>BlockingOperator *<a class="code" href="structopendal__operator__ptr.html#a17b619ae01bb6471f51f8501ab18dd9b">ptr</a>;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="opendal_8h.html#aae5d70fff7f6c87e07b8aa97e08e7191"> 223</a></span> } <a class="code" href="opendal_8h.html#aae5d70fff7f6c87e07b8aa97e08e7191">opendal_operator_ptr</a>;</div>
-<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  </div>
-<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="structopendal__bytes.html"> 234</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__bytes.html">opendal_bytes</a> {</div>
-<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="structopendal__bytes.html#af7a7f99a262f8a3912f4d1cddb798c86"> 238</a></span>  <span class="keyword">const</span> uint8_t *<a class="code" href="structopendal__bytes.html#af7a7f99a262f8a3912f4d1cddb798c86">data</a>;</div>
-<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="structopendal__error.html#ac5ac4b16d49b767afdb29cf9b8115e53"> 242</a></span>  uintptr_t <a class="code" href="structopendal__bytes.html#a16abed2ad211c076650d1ea81772b851">len</a>;</div>
-<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="opendal_8h.html#a4117acdec0983ce12962491960847381"> 243</a></span> } <a class="code" href="opendal_8h.html#a4117acdec0983ce12962491960847381">opendal_bytes</a>;</div>
-<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  </div>
-<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="structopendal__error.html"> 264</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> {</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keyword">enum</span> <a class="code" href="opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2">opendal_code</a> <a class="code" href="structopendal__error.html#ac5ac4b16d49b767afdb29cf9b8115e53">code</a>;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keyword">struct </span><a class="code" href="structopendal__bytes.html">opendal_bytes</a> <a class="code" href="structopendal__error.html#a64095efcf3588a1871b14eab3041d0d4">message</a>;</div>
-<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="opendal_8h.html#aba7687efb3e2f74800e93aee4eede6cc"> 267</a></span> } <a class="code" href="opendal_8h.html#aba7687efb3e2f74800e93aee4eede6cc">opendal_error</a>;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  </div>
-<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="structopendal__result__operator__new.html"> 281</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__operator__new.html">opendal_result_operator_new</a> {</div>
-<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="structopendal__result__operator__new.html#a1998b1bb97c81253564e0a9228759891"> 282</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *<a class="code" href="structopendal__result__operator__new.html#a1998b1bb97c81253564e0a9228759891">operator_ptr</a>;</div>
-<div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="structopendal__result__operator__new.html#a5ee50d6c74038806e57d12d1880ac520"> 283</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="structopendal__result__operator__new.html#a5ee50d6c74038806e57d12d1880ac520">error</a>;</div>
-<div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="opendal_8h.html#a1c2ddf5212cda7243c1138f55b9cdbc5"> 284</a></span> } <a class="code" href="opendal_8h.html#a1c2ddf5212cda7243c1138f55b9cdbc5">opendal_result_operator_new</a>;</div>
-<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  </div>
-<div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="structopendal__operator__options.html"> 296</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__operator__options.html">opendal_operator_options</a> {</div>
-<div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="structopendal__operator__options.html#a0b4a1a2cd9074140b04836b822a04645"> 301</a></span>  <span class="keyword">struct </span>HashMap_String__String *<a class="code" href="structopendal__operator__options.html#a0b4a1a2cd9074140b04836b822a04645">inner</a>;</div>
-<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="opendal_8h.html#a76d4f0935961d0e49befd7719728fd16"> 302</a></span> } <a class="code" href="opendal_8h.html#a76d4f0935961d0e49befd7719728fd16">opendal_operator_options</a>;</div>
-<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  </div>
-<div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="structopendal__result__read.html"> 312</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__read.html">opendal_result_read</a> {</div>
-<div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f"> 316</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__bytes.html">opendal_bytes</a> *<a class="code" href="structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f">data</a>;</div>
-<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2"> 320</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2">error</a>;</div>
-<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="opendal_8h.html#a68a7b0ae2b453dd9ba31ba0d572a4d5d"> 321</a></span> } <a class="code" href="opendal_8h.html#a68a7b0ae2b453dd9ba31ba0d572a4d5d">opendal_result_read</a>;</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  </div>
-<div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="structopendal__result__is__exist.html"> 333</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__is__exist.html">opendal_result_is_exist</a> {</div>
-<div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295"> 337</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295">is_exist</a>;</div>
-<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="structopendal__result__is__exist.html#a6dc61502ab68ba25bcd56b09a215de6c"> 341</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="structopendal__result__is__exist.html#a6dc61502ab68ba25bcd56b09a215de6c">error</a>;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="opendal_8h.html#afbd6b36f0b084ca5fa251ebd5e317abf"> 342</a></span> } <a class="code" href="opendal_8h.html#afbd6b36f0b084ca5fa251ebd5e317abf">opendal_result_is_exist</a>;</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="opendal_8h.html#a8c11fb124aac4911b663122dbfa7d1fa">BlockingReader</a> <a class="code" href="opendal_8h.html#a8c11fb124aac4911b663122dbfa7d1fa">BlockingReader</a>;</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  </div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8">Entry</a> <a class="code" href="opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8">Entry</a>;</div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  </div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>HashMap_String__String HashMap_String__String;</div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  </div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keyword">typedef</span> <span class="keyword">struct </span>Metadata Metadata;</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  </div>
+<div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="structopendal__operator__ptr.html"> 223</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> {</div>
+<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="structopendal__operator__ptr.html#a17b619ae01bb6471f51f8501ab18dd9b"> 228</a></span>  <span class="keyword">const</span> <span class="keyword">struct </span>BlockingOperator *<a class="code" href="structopendal__operator__ptr.html#a17b619ae01bb6471f51f8501ab18dd9b">ptr</a>;</div>
+<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="opendal_8h.html#aae5d70fff7f6c87e07b8aa97e08e7191"> 229</a></span> } <a class="code" href="opendal_8h.html#aae5d70fff7f6c87e07b8aa97e08e7191">opendal_operator_ptr</a>;</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  </div>
+<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="structopendal__bytes.html"> 240</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__bytes.html">opendal_bytes</a> {</div>
+<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="structopendal__bytes.html#af7a7f99a262f8a3912f4d1cddb798c86"> 244</a></span>  <span class="keyword">const</span> uint8_t *<a class="code" href="structopendal__bytes.html#af7a7f99a262f8a3912f4d1cddb798c86">data</a>;</div>
+<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="structopendal__error.html#ac5ac4b16d49b767afdb29cf9b8115e53"> 248</a></span>  uintptr_t <a class="code" href="structopendal__bytes.html#a16abed2ad211c076650d1ea81772b851">len</a>;</div>
+<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="opendal_8h.html#a4117acdec0983ce12962491960847381"> 249</a></span> } <a class="code" href="opendal_8h.html#a4117acdec0983ce12962491960847381">opendal_bytes</a>;</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  </div>
+<div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="structopendal__error.html"> 270</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> {</div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keyword">enum</span> <a class="code" href="opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2">opendal_code</a> <a class="code" href="structopendal__error.html#ac5ac4b16d49b767afdb29cf9b8115e53">code</a>;</div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keyword">struct </span><a class="code" href="structopendal__bytes.html">opendal_bytes</a> <a class="code" href="structopendal__error.html#a64095efcf3588a1871b14eab3041d0d4">message</a>;</div>
+<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="opendal_8h.html#aba7687efb3e2f74800e93aee4eede6cc"> 273</a></span> } <a class="code" href="opendal_8h.html#aba7687efb3e2f74800e93aee4eede6cc">opendal_error</a>;</div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  </div>
+<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="structopendal__result__operator__new.html"> 287</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__operator__new.html">opendal_result_operator_new</a> {</div>
+<div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="structopendal__result__operator__new.html#a1998b1bb97c81253564e0a9228759891"> 288</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *<a class="code" href="structopendal__result__operator__new.html#a1998b1bb97c81253564e0a9228759891">operator_ptr</a>;</div>
+<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="structopendal__result__operator__new.html#a5ee50d6c74038806e57d12d1880ac520"> 289</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="structopendal__result__operator__new.html#a5ee50d6c74038806e57d12d1880ac520">error</a>;</div>
+<div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="opendal_8h.html#a1c2ddf5212cda7243c1138f55b9cdbc5"> 290</a></span> } <a class="code" href="opendal_8h.html#a1c2ddf5212cda7243c1138f55b9cdbc5">opendal_result_operator_new</a>;</div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  </div>
+<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="structopendal__operator__options.html"> 302</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__operator__options.html">opendal_operator_options</a> {</div>
+<div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="structopendal__operator__options.html#a0b4a1a2cd9074140b04836b822a04645"> 307</a></span>  <span class="keyword">struct </span>HashMap_String__String *<a class="code" href="structopendal__operator__options.html#a0b4a1a2cd9074140b04836b822a04645">inner</a>;</div>
+<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="opendal_8h.html#a76d4f0935961d0e49befd7719728fd16"> 308</a></span> } <a class="code" href="opendal_8h.html#a76d4f0935961d0e49befd7719728fd16">opendal_operator_options</a>;</div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  </div>
+<div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="structopendal__result__read.html"> 318</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__read.html">opendal_result_read</a> {</div>
+<div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f"> 322</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__bytes.html">opendal_bytes</a> *<a class="code" href="structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f">data</a>;</div>
+<div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2"> 326</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2">error</a>;</div>
+<div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="opendal_8h.html#a68a7b0ae2b453dd9ba31ba0d572a4d5d"> 327</a></span> } <a class="code" href="opendal_8h.html#a68a7b0ae2b453dd9ba31ba0d572a4d5d">opendal_result_read</a>;</div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  </div>
+<div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="structopendal__reader.html"> 329</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__reader.html">opendal_reader</a> {</div>
+<div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="structopendal__reader.html#a25070270d288274fc2fcb1e38d389718"> 330</a></span>  <span class="keyword">struct </span><a class="code" href="opendal_8h.html#a8c11fb124aac4911b663122dbfa7d1fa">BlockingReader</a> *<a class="code" href="structopendal__reader.html#a25070270d288274fc2fcb1e38d389718">inner</a>;</div>
+<div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="opendal_8h.html#a1f2a071a20d13757ba9cd5fde09c1100"> 331</a></span> } <a class="code" href="opendal_8h.html#a1f2a071a20d13757ba9cd5fde09c1100">opendal_reader</a>;</div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  </div>
+<div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="structopendal__result__reader.html"> 339</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__reader.html">opendal_result_reader</a> {</div>
+<div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="structopendal__result__reader.html#ab2f72d683d38843ca9b429fc9a80272d"> 340</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__reader.html">opendal_reader</a> *<a class="code" href="structopendal__result__reader.html#ab2f72d683d38843ca9b429fc9a80272d">reader</a>;</div>
+<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="structopendal__result__reader.html#a1c075185ae159ac377b3e971c359efc2"> 341</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="structopendal__result__reader.html#a1c075185ae159ac377b3e971c359efc2">error</a>;</div>
+<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="opendal_8h.html#a7712a472329fe04955dd86a213c78b37"> 342</a></span> } <a class="code" href="opendal_8h.html#a7712a472329fe04955dd86a213c78b37">opendal_result_reader</a>;</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  </div>
-<div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="structopendal__metadata.html"> 355</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__metadata.html">opendal_metadata</a> {</div>
-<div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="structopendal__metadata.html#afadf4e2bbfa3ee699d3c3d9c0a96a404"> 360</a></span>  <span class="keyword">struct </span>Metadata *<a class="code" href="structopendal__metadata.html#afadf4e2bbfa3ee699d3c3d9c0a96a404">inner</a>;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="opendal_8h.html#af0acf7956915881ccd1f0874f309c682"> 361</a></span> } <a class="code" href="opendal_8h.html#af0acf7956915881ccd1f0874f309c682">opendal_metadata</a>;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  </div>
-<div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="structopendal__result__stat.html"> 370</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__stat.html">opendal_result_stat</a> {</div>
-<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="structopendal__result__stat.html#a1d4d484d7bf50bc8e5d65dea5f6f2425"> 374</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__metadata.html">opendal_metadata</a> *<a class="code" href="structopendal__result__stat.html#a1d4d484d7bf50bc8e5d65dea5f6f2425">meta</a>;</div>
-<div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="structopendal__result__stat.html#a657eee3bfdf805036f169d94ee70dce9"> 378</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="structopendal__result__stat.html#a657eee3bfdf805036f169d94ee70dce9">error</a>;</div>
-<div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="opendal_8h.html#a07f3f83aa0b650a09986291e47a8ddb0"> 379</a></span> } <a class="code" href="opendal_8h.html#a07f3f83aa0b650a09986291e47a8ddb0">opendal_result_stat</a>;</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  </div>
-<div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="structopendal__blocking__lister.html"> 390</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__blocking__lister.html">opendal_blocking_lister</a> {</div>
-<div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="structopendal__blocking__lister.html#abe85b5f87a529f81fb7542cdef536a7f"> 391</a></span>  <span class="keyword">struct </span><a class="code" href="opendal_8h.html#a03ea17a7d09e319825d05a1d9f5d933c">BlockingLister</a> *<a class="code" href="structopendal__blocking__lister.html#abe85b5f87a529f81fb7542cdef536a7f">inner</a>;</div>
-<div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="opendal_8h.html#a0b698963d36cbe398ba4bd4e61195e44"> 392</a></span> } <a class="code" href="opendal_8h.html#a0b698963d36cbe398ba4bd4e61195e44">opendal_blocking_lister</a>;</div>
-<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  </div>
-<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="structopendal__result__list.html"> 401</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__list.html">opendal_result_list</a> {</div>
-<div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="structopendal__result__list.html#a1388cb447f532ecd19ff9a13e09daced"> 405</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__blocking__lister.html">opendal_blocking_lister</a> *<a class="code" href="structopendal__result__list.html#a1388cb447f532ecd19ff9a13e09daced">lister</a>;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="structopendal__result__list.html#a874bfb5c9d016445698fb59d65b76ed2"> 409</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="structopendal__result__list.html#a874bfb5c9d016445698fb59d65b76ed2">error</a>;</div>
-<div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="opendal_8h.html#a606c20c489cac143082dc3870102f43a"> 410</a></span> } <a class="code" href="opendal_8h.html#a606c20c489cac143082dc3870102f43a">opendal_result_list</a>;</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  </div>
-<div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="structopendal__list__entry.html"> 420</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__list__entry.html">opendal_list_entry</a> {</div>
-<div class="line"><a name="l00421"></a><span class="lineno"><a class="line" href="structopendal__list__entry.html#a23ad6b3ca61aa600ef6f3769f2479892"> 421</a></span>  <span class="keyword">struct </span><a class="code" href="opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8">Entry</a> *<a class="code" href="structopendal__list__entry.html#a23ad6b3ca61aa600ef6f3769f2479892">inner</a>;</div>
-<div class="line"><a name="l00422"></a><span class="lineno"><a class="line" href="opendal_8h.html#a3d3583cbe9b8b5281ddbc3c4f78dca33"> 422</a></span> } <a class="code" href="opendal_8h.html#a3d3583cbe9b8b5281ddbc3c4f78dca33">opendal_list_entry</a>;</div>
-<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  </div>
-<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div>
-<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="preprocessor">#endif </span><span class="comment">// __cplusplus</span></div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  </div>
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__operator__new.html">opendal_result_operator_new</a> <a class="code" href="opendal_8h.html#a3b32f655689a122d2b6feff169fac442">opendal_operator_new</a>(const char *scheme,</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="structopendal__operator__options.html">opendal_operator_options</a> *options);</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  </div>
-<div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="opendal_8h.html#ae8fc63885af34e53afbb075dfed39732"> 516</a></span> <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="opendal_8h.html#a39c13941f26a7a1bbb0b52cbb7af61b9">opendal_operator_blocking_write</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__operator__ptr.ht [...]
-<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *path,</div>
-<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="keyword">struct</span> <a class="code" href="structopendal__bytes.html">opendal_bytes</a> bytes);</div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  </div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__read.html">opendal_result_read</a> <a class="code" href="opendal_8h.html#ae8fc63885af34e53afbb075dfed39732">opendal_operator_blocking_read</a>(const struct <a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *ptr,</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  </div>
-<div class="line"><a name="l00605"></a><span class="lineno"><a class="line" href="opendal_8h.html#a2ceeec46dfb498f1b6c9f1138d820977"> 605</a></span> <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="opendal_8h.html#a2ceeec46dfb498f1b6c9f1138d820977">opendal_operator_blocking_delete</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__operator__ptr.h [...]
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  </div>
-<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__is__exist.html">opendal_result_is_exist</a> <a class="code" href="opendal_8h.html#ae5a3bf403cdf78d5c5b1fa9f623f0d80">opendal_operator_is_exist</a>(const struct <a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *ptr,</div>
-<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
-<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  </div>
-<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__stat.html">opendal_result_stat</a> <a class="code" href="opendal_8h.html#aefa1285911f7cf00837e69ba29d2efd3">opendal_operator_stat</a>(const struct <a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *ptr,</div>
-<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
-<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  </div>
-<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__list.html">opendal_result_list</a> <a class="code" href="opendal_8h.html#a844f3a690078c34af557ae83e1f1513f">opendal_operator_blocking_list</a>(const struct <a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *ptr,</div>
-<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
-<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  </div>
-<div class="line"><a name="l00747"></a><span class="lineno"><a class="line" href="opendal_8h.html#a4a8d92df21f5473762677afd9af5f714"> 747</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#a4a8d92df21f5473762677afd9af5f714">opendal_error_free</a>(<span class="keyword">struct</span> <a class="code" href="structopendal__error.html">opendal_error</a> *ptr);</div>
-<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  </div>
-<div class="line"><a name="l00766"></a><span class="lineno"><a class="line" href="opendal_8h.html#a3e038035b4339e19f24e1aa8ef678def"> 766</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#a3e038035b4339e19f24e1aa8ef678def">opendal_operator_free</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *op);</div>
-<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  </div>
-<div class="line"><a name="l00771"></a><span class="lineno"><a class="line" href="opendal_8h.html#aea5253c2bbe9438349eebb68a18a82ea"> 771</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#aea5253c2bbe9438349eebb68a18a82ea">opendal_bytes_free</a>(<span class="keyword">struct</span> <a class="code" href="structopendal__bytes.html">opendal_bytes</a> *ptr);</div>
-<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  </div>
-<div class="line"><a name="l00776"></a><span class="lineno"><a class="line" href="opendal_8h.html#a8ff66345b1c45c66920ef0ddfef739c5"> 776</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#a8ff66345b1c45c66920ef0ddfef739c5">opendal_metadata_free</a>(<span class="keyword">struct</span> <a class="code" href="structopendal__metadata.html">opendal_metadata</a> *ptr);</div>
-<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  </div>
-<div class="line"><a name="l00791"></a><span class="lineno"><a class="line" href="opendal_8h.html#ac8e9a9da0f04cb80848e7e42c3b90235"> 791</a></span> uint64_t <a class="code" href="opendal_8h.html#ac8e9a9da0f04cb80848e7e42c3b90235">opendal_metadata_content_length</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__metadata.html">opendal_metadata</a> *<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  </div>
-<div class="line"><a name="l00806"></a><span class="lineno"><a class="line" href="opendal_8h.html#a8900dddbbce980c3323cedd4f30c33ad"> 806</a></span> <span class="keywordtype">bool</span> <a class="code" href="opendal_8h.html#a8900dddbbce980c3323cedd4f30c33ad">opendal_metadata_is_file</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__metadata.html">opendal_metadata</a> *<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  </div>
-<div class="line"><a name="l00826"></a><span class="lineno"><a class="line" href="opendal_8h.html#ac8cb949fb37f83dfcbe78976eaa29409"> 826</a></span> <span class="keywordtype">bool</span> <a class="code" href="opendal_8h.html#ac8cb949fb37f83dfcbe78976eaa29409">opendal_metadata_is_dir</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__metadata.html">opendal_metadata</a> *<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  </div>
-<div class="line"><a name="l00836"></a><span class="lineno"><a class="line" href="opendal_8h.html#a67b1457f2b1258551552dc383840f288"> 836</a></span> <span class="keyword">struct </span><a class="code" href="structopendal__operator__options.html">opendal_operator_options</a> *<a class="code" href="opendal_8h.html#a67b1457f2b1258551552dc383840f288">opendal_operator_options_new</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  </div>
-<div class="line"><a name="l00857"></a><span class="lineno"><a class="line" href="opendal_8h.html#af408af922875eb26c25cef4ddfdede02"> 857</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#af408af922875eb26c25cef4ddfdede02">opendal_operator_options_set</a>(<span class="keyword">struct</span> <a class="code" href="structopendal__operator__options.html">opendal_operator_options</a> *<span class="keyword">self</span>,</div>
-<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *key,</div>
-<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div>
-<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  </div>
-<div class="line"><a name="l00864"></a><span class="lineno"><a class="line" href="opendal_8h.html#a1d65b173b087b2abca126de2e951b412"> 864</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#a1d65b173b087b2abca126de2e951b412">opendal_operator_options_free</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__operator__options.html">opendal_operator_options</a> *options);</div>
-<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  </div>
-<div class="line"><a name="l00875"></a><span class="lineno"><a class="line" href="opendal_8h.html#a191fdabb43a5173bcb00fbb3f615070c"> 875</a></span> <span class="keyword">struct </span><a class="code" href="structopendal__list__entry.html">opendal_list_entry</a> *<a class="code" href="opendal_8h.html#a191fdabb43a5173bcb00fbb3f615070c">opendal_lister_next</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__blocking__lister. [...]
-<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  </div>
-<div class="line"><a name="l00880"></a><span class="lineno"><a class="line" href="opendal_8h.html#a25e2bd426163636455d6ba2e82547db7"> 880</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#a25e2bd426163636455d6ba2e82547db7">opendal_lister_free</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__blocking__lister.html">opendal_blocking_lister</a> *p);</div>
-<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  </div>
-<div class="line"><a name="l00889"></a><span class="lineno"><a class="line" href="opendal_8h.html#a3a9984872f04ae478af91a15e1af0af0"> 889</a></span> <span class="keywordtype">char</span> *<a class="code" href="opendal_8h.html#a3a9984872f04ae478af91a15e1af0af0">opendal_list_entry_path</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__list__entry.html">opendal_list_entry</a> *<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  </div>
-<div class="line"><a name="l00900"></a><span class="lineno"><a class="line" href="opendal_8h.html#ac9b6091ec4c8aa0333727b34de3fa845"> 900</a></span> <span class="keywordtype">char</span> *<a class="code" href="opendal_8h.html#ac9b6091ec4c8aa0333727b34de3fa845">opendal_list_entry_name</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__list__entry.html">opendal_list_entry</a> *<span class="keyword">self</span>);</div>
-<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  </div>
-<div class="line"><a name="l00905"></a><span class="lineno"><a class="line" href="opendal_8h.html#afa415362bf713d7c7869225a7f50f4a5"> 905</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#afa415362bf713d7c7869225a7f50f4a5">opendal_list_entry_free</a>(<span class="keyword">struct</span> <a class="code" href="structopendal__list__entry.html">opendal_list_entry</a> *ptr);</div>
-<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  </div>
-<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> <span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> } <span class="comment">// extern "C"</span></div>
-<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> <span class="preprocessor">#endif </span><span class="comment">// __cplusplus</span></div>
-<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  </div>
-<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> <span class="preprocessor">#endif </span><span class="comment">/* _OPENDAL_H */</span><span class="preprocessor"></span></div>
+<div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="structopendal__result__is__exist.html"> 354</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__is__exist.html">opendal_result_is_exist</a> {</div>
+<div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295"> 358</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295">is_exist</a>;</div>
+<div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="structopendal__result__is__exist.html#a6dc61502ab68ba25bcd56b09a215de6c"> 362</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="structopendal__result__is__exist.html#a6dc61502ab68ba25bcd56b09a215de6c">error</a>;</div>
+<div class="line"><a name="l00363"></a><span class="lineno"><a class="line" href="opendal_8h.html#afbd6b36f0b084ca5fa251ebd5e317abf"> 363</a></span> } <a class="code" href="opendal_8h.html#afbd6b36f0b084ca5fa251ebd5e317abf">opendal_result_is_exist</a>;</div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  </div>
+<div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="structopendal__metadata.html"> 376</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__metadata.html">opendal_metadata</a> {</div>
+<div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="structopendal__metadata.html#afadf4e2bbfa3ee699d3c3d9c0a96a404"> 381</a></span>  <span class="keyword">struct </span>Metadata *<a class="code" href="structopendal__metadata.html#afadf4e2bbfa3ee699d3c3d9c0a96a404">inner</a>;</div>
+<div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="opendal_8h.html#af0acf7956915881ccd1f0874f309c682"> 382</a></span> } <a class="code" href="opendal_8h.html#af0acf7956915881ccd1f0874f309c682">opendal_metadata</a>;</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  </div>
+<div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="structopendal__result__stat.html"> 391</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__stat.html">opendal_result_stat</a> {</div>
+<div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="structopendal__result__stat.html#a1d4d484d7bf50bc8e5d65dea5f6f2425"> 395</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__metadata.html">opendal_metadata</a> *<a class="code" href="structopendal__result__stat.html#a1d4d484d7bf50bc8e5d65dea5f6f2425">meta</a>;</div>
+<div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="structopendal__result__stat.html#a657eee3bfdf805036f169d94ee70dce9"> 399</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="structopendal__result__stat.html#a657eee3bfdf805036f169d94ee70dce9">error</a>;</div>
+<div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="opendal_8h.html#a07f3f83aa0b650a09986291e47a8ddb0"> 400</a></span> } <a class="code" href="opendal_8h.html#a07f3f83aa0b650a09986291e47a8ddb0">opendal_result_stat</a>;</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  </div>
+<div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="structopendal__blocking__lister.html"> 411</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__blocking__lister.html">opendal_blocking_lister</a> {</div>
+<div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="structopendal__blocking__lister.html#abe85b5f87a529f81fb7542cdef536a7f"> 412</a></span>  <span class="keyword">struct </span><a class="code" href="opendal_8h.html#a03ea17a7d09e319825d05a1d9f5d933c">BlockingLister</a> *<a class="code" href="structopendal__blocking__lister.html#abe85b5f87a529f81fb7542cdef536a7f">inner</a>;</div>
+<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="opendal_8h.html#a0b698963d36cbe398ba4bd4e61195e44"> 413</a></span> } <a class="code" href="opendal_8h.html#a0b698963d36cbe398ba4bd4e61195e44">opendal_blocking_lister</a>;</div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  </div>
+<div class="line"><a name="l00422"></a><span class="lineno"><a class="line" href="structopendal__result__list.html"> 422</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__list.html">opendal_result_list</a> {</div>
+<div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="structopendal__result__list.html#a1388cb447f532ecd19ff9a13e09daced"> 426</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__blocking__lister.html">opendal_blocking_lister</a> *<a class="code" href="structopendal__result__list.html#a1388cb447f532ecd19ff9a13e09daced">lister</a>;</div>
+<div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="structopendal__result__list.html#a874bfb5c9d016445698fb59d65b76ed2"> 430</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="structopendal__result__list.html#a874bfb5c9d016445698fb59d65b76ed2">error</a>;</div>
+<div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="opendal_8h.html#a606c20c489cac143082dc3870102f43a"> 431</a></span> } <a class="code" href="opendal_8h.html#a606c20c489cac143082dc3870102f43a">opendal_result_list</a>;</div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  </div>
+<div class="line"><a name="l00441"></a><span class="lineno"><a class="line" href="structopendal__list__entry.html"> 441</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__list__entry.html">opendal_list_entry</a> {</div>
+<div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="structopendal__list__entry.html#a23ad6b3ca61aa600ef6f3769f2479892"> 442</a></span>  <span class="keyword">struct </span><a class="code" href="opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8">Entry</a> *<a class="code" href="structopendal__list__entry.html#a23ad6b3ca61aa600ef6f3769f2479892">inner</a>;</div>
+<div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="opendal_8h.html#a3d3583cbe9b8b5281ddbc3c4f78dca33"> 443</a></span> } <a class="code" href="opendal_8h.html#a3d3583cbe9b8b5281ddbc3c4f78dca33">opendal_list_entry</a>;</div>
+<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  </div>
+<div class="line"><a name="l00445"></a><span class="lineno"><a class="line" href="structopendal__result__reader__read.html"> 445</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__reader__read.html">opendal_result_reader_read</a> {</div>
+<div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="structopendal__result__reader__read.html#a5a513cafeacebef13f74fd50c30e9810"> 446</a></span>  uintptr_t <a class="code" href="structopendal__result__reader__read.html#a5a513cafeacebef13f74fd50c30e9810">size</a>;</div>
+<div class="line"><a name="l00447"></a><span class="lineno"><a class="line" href="structopendal__result__reader__read.html#a1279e7b3cb6beaf63da0f6ee9370ba36"> 447</a></span>  <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="structopendal__result__reader__read.html#a1279e7b3cb6beaf63da0f6ee9370ba36">error</a>;</div>
+<div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="opendal_8h.html#a1fc707d831b5e91edd1a34c0f08805ff"> 448</a></span> } <a class="code" href="opendal_8h.html#a1fc707d831b5e91edd1a34c0f08805ff">opendal_result_reader_read</a>;</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  </div>
+<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="preprocessor">#endif </span><span class="comment">// __cplusplus</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  </div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__operator__new.html">opendal_result_operator_new</a> <a class="code" href="opendal_8h.html#a3b32f655689a122d2b6feff169fac442">opendal_operator_new</a>(const char *scheme,</div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="structopendal__operator__options.html">opendal_operator_options</a> *options);</div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  </div>
+<div class="line"><a name="l00542"></a><span class="lineno"><a class="line" href="opendal_8h.html#ae8fc63885af34e53afbb075dfed39732"> 542</a></span> <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="opendal_8h.html#a39c13941f26a7a1bbb0b52cbb7af61b9">opendal_operator_blocking_write</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__operator__ptr.ht [...]
+<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *path,</div>
+<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <span class="keyword">struct</span> <a class="code" href="structopendal__bytes.html">opendal_bytes</a> bytes);</div>
+<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  </div>
+<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__read.html">opendal_result_read</a> <a class="code" href="opendal_8h.html#ae8fc63885af34e53afbb075dfed39732">opendal_operator_blocking_read</a>(const struct <a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *ptr,</div>
+<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
+<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  </div>
+<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__reader.html">opendal_result_reader</a> <a class="code" href="opendal_8h.html#a6285d4da17f5f873bc7a8edd7301fb81">opendal_operator_blocking_reader</a>(const struct <a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *ptr,</div>
+<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
+<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  </div>
+<div class="line"><a name="l00676"></a><span class="lineno"><a class="line" href="opendal_8h.html#a2ceeec46dfb498f1b6c9f1138d820977"> 676</a></span> <span class="keyword">struct </span><a class="code" href="structopendal__error.html">opendal_error</a> *<a class="code" href="opendal_8h.html#a2ceeec46dfb498f1b6c9f1138d820977">opendal_operator_blocking_delete</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__operator__ptr.h [...]
+<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
+<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  </div>
+<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__is__exist.html">opendal_result_is_exist</a> <a class="code" href="opendal_8h.html#ae5a3bf403cdf78d5c5b1fa9f623f0d80">opendal_operator_is_exist</a>(const struct <a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *ptr,</div>
+<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
+<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  </div>
+<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__stat.html">opendal_result_stat</a> <a class="code" href="opendal_8h.html#aefa1285911f7cf00837e69ba29d2efd3">opendal_operator_stat</a>(const struct <a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *ptr,</div>
+<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
+<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  </div>
+<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__list.html">opendal_result_list</a> <a class="code" href="opendal_8h.html#a844f3a690078c34af557ae83e1f1513f">opendal_operator_blocking_list</a>(const struct <a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *ptr,</div>
+<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *path);</div>
+<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  </div>
+<div class="line"><a name="l00818"></a><span class="lineno"><a class="line" href="opendal_8h.html#a4a8d92df21f5473762677afd9af5f714"> 818</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#a4a8d92df21f5473762677afd9af5f714">opendal_error_free</a>(<span class="keyword">struct</span> <a class="code" href="structopendal__error.html">opendal_error</a> *ptr);</div>
+<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  </div>
+<div class="line"><a name="l00837"></a><span class="lineno"><a class="line" href="opendal_8h.html#a3e038035b4339e19f24e1aa8ef678def"> 837</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#a3e038035b4339e19f24e1aa8ef678def">opendal_operator_free</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__operator__ptr.html">opendal_operator_ptr</a> *op);</div>
+<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  </div>
+<div class="line"><a name="l00842"></a><span class="lineno"><a class="line" href="opendal_8h.html#aea5253c2bbe9438349eebb68a18a82ea"> 842</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#aea5253c2bbe9438349eebb68a18a82ea">opendal_bytes_free</a>(<span class="keyword">struct</span> <a class="code" href="structopendal__bytes.html">opendal_bytes</a> *ptr);</div>
+<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  </div>
+<div class="line"><a name="l00847"></a><span class="lineno"><a class="line" href="opendal_8h.html#a8ff66345b1c45c66920ef0ddfef739c5"> 847</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#a8ff66345b1c45c66920ef0ddfef739c5">opendal_metadata_free</a>(<span class="keyword">struct</span> <a class="code" href="structopendal__metadata.html">opendal_metadata</a> *ptr);</div>
+<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  </div>
+<div class="line"><a name="l00862"></a><span class="lineno"><a class="line" href="opendal_8h.html#ac8e9a9da0f04cb80848e7e42c3b90235"> 862</a></span> uint64_t <a class="code" href="opendal_8h.html#ac8e9a9da0f04cb80848e7e42c3b90235">opendal_metadata_content_length</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__metadata.html">opendal_metadata</a> *<span class="keyword">self</span>);</div>
+<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  </div>
+<div class="line"><a name="l00877"></a><span class="lineno"><a class="line" href="opendal_8h.html#a8900dddbbce980c3323cedd4f30c33ad"> 877</a></span> <span class="keywordtype">bool</span> <a class="code" href="opendal_8h.html#a8900dddbbce980c3323cedd4f30c33ad">opendal_metadata_is_file</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__metadata.html">opendal_metadata</a> *<span class="keyword">self</span>);</div>
+<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  </div>
+<div class="line"><a name="l00897"></a><span class="lineno"><a class="line" href="opendal_8h.html#ac8cb949fb37f83dfcbe78976eaa29409"> 897</a></span> <span class="keywordtype">bool</span> <a class="code" href="opendal_8h.html#ac8cb949fb37f83dfcbe78976eaa29409">opendal_metadata_is_dir</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__metadata.html">opendal_metadata</a> *<span class="keyword">self</span>);</div>
+<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  </div>
+<div class="line"><a name="l00907"></a><span class="lineno"><a class="line" href="opendal_8h.html#a67b1457f2b1258551552dc383840f288"> 907</a></span> <span class="keyword">struct </span><a class="code" href="structopendal__operator__options.html">opendal_operator_options</a> *<a class="code" href="opendal_8h.html#a67b1457f2b1258551552dc383840f288">opendal_operator_options_new</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  </div>
+<div class="line"><a name="l00928"></a><span class="lineno"><a class="line" href="opendal_8h.html#af408af922875eb26c25cef4ddfdede02"> 928</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#af408af922875eb26c25cef4ddfdede02">opendal_operator_options_set</a>(<span class="keyword">struct</span> <a class="code" href="structopendal__operator__options.html">opendal_operator_options</a> *<span class="keyword">self</span>,</div>
+<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *key,</div>
+<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  </div>
+<div class="line"><a name="l00935"></a><span class="lineno"><a class="line" href="opendal_8h.html#a1d65b173b087b2abca126de2e951b412"> 935</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#a1d65b173b087b2abca126de2e951b412">opendal_operator_options_free</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__operator__options.html">opendal_operator_options</a> *options);</div>
+<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  </div>
+<div class="line"><a name="l00946"></a><span class="lineno"><a class="line" href="opendal_8h.html#a191fdabb43a5173bcb00fbb3f615070c"> 946</a></span> <span class="keyword">struct </span><a class="code" href="structopendal__list__entry.html">opendal_list_entry</a> *<a class="code" href="opendal_8h.html#a191fdabb43a5173bcb00fbb3f615070c">opendal_lister_next</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__blocking__lister. [...]
+<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  </div>
+<div class="line"><a name="l00951"></a><span class="lineno"><a class="line" href="opendal_8h.html#a25e2bd426163636455d6ba2e82547db7"> 951</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#a25e2bd426163636455d6ba2e82547db7">opendal_lister_free</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__blocking__lister.html">opendal_blocking_lister</a> *p);</div>
+<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  </div>
+<div class="line"><a name="l00960"></a><span class="lineno"><a class="line" href="opendal_8h.html#a3a9984872f04ae478af91a15e1af0af0"> 960</a></span> <span class="keywordtype">char</span> *<a class="code" href="opendal_8h.html#a3a9984872f04ae478af91a15e1af0af0">opendal_list_entry_path</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__list__entry.html">opendal_list_entry</a> *<span class="keyword">self</span>);</div>
+<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  </div>
+<div class="line"><a name="l00971"></a><span class="lineno"><a class="line" href="opendal_8h.html#ac9b6091ec4c8aa0333727b34de3fa845"> 971</a></span> <span class="keywordtype">char</span> *<a class="code" href="opendal_8h.html#ac9b6091ec4c8aa0333727b34de3fa845">opendal_list_entry_name</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structopendal__list__entry.html">opendal_list_entry</a> *<span class="keyword">self</span>);</div>
+<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  </div>
+<div class="line"><a name="l00976"></a><span class="lineno"><a class="line" href="opendal_8h.html#afa415362bf713d7c7869225a7f50f4a5"> 976</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#afa415362bf713d7c7869225a7f50f4a5">opendal_list_entry_free</a>(<span class="keyword">struct</span> <a class="code" href="structopendal__list__entry.html">opendal_list_entry</a> *ptr);</div>
+<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  </div>
+<div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="keyword">struct </span><a class="code" href="structopendal__result__reader__read.html">opendal_result_reader_read</a> <a class="code" href="opendal_8h.html#ae10ef4bd17ee529fbfa8ab6ed9d0e3a4">opendal_reader_read</a>(const struct <a class="code" href="structopendal__reader.html">opendal_reader</a> *<span class="keyword">self</span>,</div>
+<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  uint8_t *buf,</div>
+<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  uintptr_t len);</div>
+<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  </div>
+<div class="line"><a name="l00982"></a><span class="lineno"><a class="line" href="opendal_8h.html#a7ef708841e8d9a0cebb64a983ef4d472"> 982</a></span> <span class="keywordtype">void</span> <a class="code" href="opendal_8h.html#a7ef708841e8d9a0cebb64a983ef4d472">opendal_reader_free</a>(<span class="keyword">struct</span> <a class="code" href="structopendal__reader.html">opendal_reader</a> *ptr);</div>
+<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  </div>
+<div class="line"><a name="l00984"></a><span class="lineno"> 984</span> <span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> } <span class="comment">// extern "C"</span></div>
+<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <span class="preprocessor">#endif </span><span class="comment">// __cplusplus</span></div>
+<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  </div>
+<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> <span class="preprocessor">#endif </span><span class="comment">/* _OPENDAL_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="aopendal_8h_html_a03ea17a7d09e319825d05a1d9f5d933c"><div class="ttname"><a href="opendal_8h.html#a03ea17a7d09e319825d05a1d9f5d933c">BlockingLister</a></div><div class="ttdeci">struct BlockingLister BlockingLister</div><div class="ttdef"><b>Definition:</b> opendal.h:82</div></div>
<div class="ttc" id="aopendal_8h_html_a07f3f83aa0b650a09986291e47a8ddb0"><div class="ttname"><a href="opendal_8h.html#a07f3f83aa0b650a09986291e47a8ddb0">opendal_result_stat</a></div><div class="ttdeci">struct opendal_result_stat opendal_result_stat</div><div class="ttdoc">The result type returned by opendal_operator_stat().</div></div>
<div class="ttc" id="aopendal_8h_html_a0b698963d36cbe398ba4bd4e61195e44"><div class="ttname"><a href="opendal_8h.html#a0b698963d36cbe398ba4bd4e61195e44">opendal_blocking_lister</a></div><div class="ttdeci">struct opendal_blocking_lister opendal_blocking_lister</div><div class="ttdoc">BlockingLister is designed to list entries at given path in a blocking manner.</div></div>
<div class="ttc" id="aopendal_8h_html_a191fdabb43a5173bcb00fbb3f615070c"><div class="ttname"><a href="opendal_8h.html#a191fdabb43a5173bcb00fbb3f615070c">opendal_lister_next</a></div><div class="ttdeci">struct opendal_list_entry * opendal_lister_next(const struct opendal_blocking_lister *self)</div><div class="ttdoc">Return the next object to be listed.</div></div>
<div class="ttc" id="aopendal_8h_html_a1c2ddf5212cda7243c1138f55b9cdbc5"><div class="ttname"><a href="opendal_8h.html#a1c2ddf5212cda7243c1138f55b9cdbc5">opendal_result_operator_new</a></div><div class="ttdeci">struct opendal_result_operator_new opendal_result_operator_new</div><div class="ttdoc">The result type returned by opendal_operator_new() operation.</div></div>
<div class="ttc" id="aopendal_8h_html_a1d65b173b087b2abca126de2e951b412"><div class="ttname"><a href="opendal_8h.html#a1d65b173b087b2abca126de2e951b412">opendal_operator_options_free</a></div><div class="ttdeci">void opendal_operator_options_free(const struct opendal_operator_options *options)</div><div class="ttdoc">Free the allocated memory used by [opendal_operator_options].</div></div>
+<div class="ttc" id="aopendal_8h_html_a1f2a071a20d13757ba9cd5fde09c1100"><div class="ttname"><a href="opendal_8h.html#a1f2a071a20d13757ba9cd5fde09c1100">opendal_reader</a></div><div class="ttdeci">struct opendal_reader opendal_reader</div></div>
+<div class="ttc" id="aopendal_8h_html_a1fc707d831b5e91edd1a34c0f08805ff"><div class="ttname"><a href="opendal_8h.html#a1fc707d831b5e91edd1a34c0f08805ff">opendal_result_reader_read</a></div><div class="ttdeci">struct opendal_result_reader_read opendal_result_reader_read</div></div>
<div class="ttc" id="aopendal_8h_html_a25e2bd426163636455d6ba2e82547db7"><div class="ttname"><a href="opendal_8h.html#a25e2bd426163636455d6ba2e82547db7">opendal_lister_free</a></div><div class="ttdeci">void opendal_lister_free(const struct opendal_blocking_lister *p)</div><div class="ttdoc">Free the heap-allocated metadata used by opendal_blocking_lister.</div></div>
<div class="ttc" id="aopendal_8h_html_a2ceeec46dfb498f1b6c9f1138d820977"><div class="ttname"><a href="opendal_8h.html#a2ceeec46dfb498f1b6c9f1138d820977">opendal_operator_blocking_delete</a></div><div class="ttdeci">struct opendal_error * opendal_operator_blocking_delete(const struct opendal_operator_ptr *ptr, const char *path)</div><div class="ttdoc">Blockingly delete the object in path.</div></div>
<div class="ttc" id="aopendal_8h_html_a39c13941f26a7a1bbb0b52cbb7af61b9"><div class="ttname"><a href="opendal_8h.html#a39c13941f26a7a1bbb0b52cbb7af61b9">opendal_operator_blocking_write</a></div><div class="ttdeci">struct opendal_error * opendal_operator_blocking_write(const struct opendal_operator_ptr *ptr, const char *path, struct opendal_bytes bytes)</div><div class="ttdoc">Blockingly write raw bytes to path.</div></div>
@@ -255,7 +282,8 @@ $(function() {
<div class="ttc" id="aopendal_8h_html_a4117acdec0983ce12962491960847381"><div class="ttname"><a href="opendal_8h.html#a4117acdec0983ce12962491960847381">opendal_bytes</a></div><div class="ttdeci">struct opendal_bytes opendal_bytes</div><div class="ttdoc">opendal_bytes carries raw-bytes with its length</div></div>
<div class="ttc" id="aopendal_8h_html_a4a8d92df21f5473762677afd9af5f714"><div class="ttname"><a href="opendal_8h.html#a4a8d92df21f5473762677afd9af5f714">opendal_error_free</a></div><div class="ttdeci">void opendal_error_free(struct opendal_error *ptr)</div><div class="ttdoc">Frees the opendal_error, ok to call on NULL.</div></div>
<div class="ttc" id="aopendal_8h_html_a606c20c489cac143082dc3870102f43a"><div class="ttname"><a href="opendal_8h.html#a606c20c489cac143082dc3870102f43a">opendal_result_list</a></div><div class="ttdeci">struct opendal_result_list opendal_result_list</div><div class="ttdoc">The result type returned by opendal_operator_blocking_list().</div></div>
-<div class="ttc" id="aopendal_8h_html_a65b0d0252adaf76f9ce2004299344de8"><div class="ttname"><a href="opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8">Entry</a></div><div class="ttdeci">struct Entry Entry</div><div class="ttdef"><b>Definition:</b> opendal.h:189</div></div>
+<div class="ttc" id="aopendal_8h_html_a6285d4da17f5f873bc7a8edd7301fb81"><div class="ttname"><a href="opendal_8h.html#a6285d4da17f5f873bc7a8edd7301fb81">opendal_operator_blocking_reader</a></div><div class="ttdeci">struct opendal_result_reader opendal_operator_blocking_reader(const struct opendal_operator_ptr *ptr, const char *path)</div><div class="ttdoc">Blockingly read the data from path.</div></div>
+<div class="ttc" id="aopendal_8h_html_a65b0d0252adaf76f9ce2004299344de8"><div class="ttname"><a href="opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8">Entry</a></div><div class="ttdeci">struct Entry Entry</div><div class="ttdef"><b>Definition:</b> opendal.h:195</div></div>
<div class="ttc" id="aopendal_8h_html_a6715be152766e5b8f840ce10cf9442c2"><div class="ttname"><a href="opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2">opendal_code</a></div><div class="ttdeci">opendal_code</div><div class="ttdoc">The error code for all opendal APIs in C binding.</div><div class="ttdef"><b>Definition:</b> opendal.h:33</div></div>
<div class="ttc" id="aopendal_8h_html_a6715be152766e5b8f840ce10cf9442c2a0dba9d7c18383f0eabb4801319becb6b"><div class="ttname"><a href="opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a0dba9d7c18383f0eabb4801319becb6b">OPENDAL_UNSUPPORTED</a></div><div class="ttdeci">@ OPENDAL_UNSUPPORTED</div><div class="ttdef"><b>Definition:</b> opendal.h:41</div></div>
<div class="ttc" id="aopendal_8h_html_a6715be152766e5b8f840ce10cf9442c2a549e63735c8104369fd9230b441ebbf1"><div class="ttname"><a href="opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a549e63735c8104369fd9230b441ebbf1">OPENDAL_NOT_FOUND</a></div><div class="ttdeci">@ OPENDAL_NOT_FOUND</div><div class="ttdef"><b>Definition:</b> opendal.h:49</div></div>
@@ -270,14 +298,18 @@ $(function() {
<div class="ttc" id="aopendal_8h_html_a67b1457f2b1258551552dc383840f288"><div class="ttname"><a href="opendal_8h.html#a67b1457f2b1258551552dc383840f288">opendal_operator_options_new</a></div><div class="ttdeci">struct opendal_operator_options * opendal_operator_options_new(void)</div><div class="ttdoc">Construct a heap-allocated opendal_operator_options.</div></div>
<div class="ttc" id="aopendal_8h_html_a68a7b0ae2b453dd9ba31ba0d572a4d5d"><div class="ttname"><a href="opendal_8h.html#a68a7b0ae2b453dd9ba31ba0d572a4d5d">opendal_result_read</a></div><div class="ttdeci">struct opendal_result_read opendal_result_read</div><div class="ttdoc">The result type returned by opendal's read operation.</div></div>
<div class="ttc" id="aopendal_8h_html_a76d4f0935961d0e49befd7719728fd16"><div class="ttname"><a href="opendal_8h.html#a76d4f0935961d0e49befd7719728fd16">opendal_operator_options</a></div><div class="ttdeci">struct opendal_operator_options opendal_operator_options</div><div class="ttdoc">The configuration for the initialization of opendal_operator_ptr.</div></div>
+<div class="ttc" id="aopendal_8h_html_a7712a472329fe04955dd86a213c78b37"><div class="ttname"><a href="opendal_8h.html#a7712a472329fe04955dd86a213c78b37">opendal_result_reader</a></div><div class="ttdeci">struct opendal_result_reader opendal_result_reader</div><div class="ttdoc">The result type returned by opendal_operator_reader(). The result type for opendal_operator_reader(),...</div></div>
+<div class="ttc" id="aopendal_8h_html_a7ef708841e8d9a0cebb64a983ef4d472"><div class="ttname"><a href="opendal_8h.html#a7ef708841e8d9a0cebb64a983ef4d472">opendal_reader_free</a></div><div class="ttdeci">void opendal_reader_free(struct opendal_reader *ptr)</div></div>
<div class="ttc" id="aopendal_8h_html_a844f3a690078c34af557ae83e1f1513f"><div class="ttname"><a href="opendal_8h.html#a844f3a690078c34af557ae83e1f1513f">opendal_operator_blocking_list</a></div><div class="ttdeci">struct opendal_result_list opendal_operator_blocking_list(const struct opendal_operator_ptr *ptr, const char *path)</div><div class="ttdoc">Blockingly list the objects in path.</div></div>
<div class="ttc" id="aopendal_8h_html_a8900dddbbce980c3323cedd4f30c33ad"><div class="ttname"><a href="opendal_8h.html#a8900dddbbce980c3323cedd4f30c33ad">opendal_metadata_is_file</a></div><div class="ttdeci">bool opendal_metadata_is_file(const struct opendal_metadata *self)</div><div class="ttdoc">Return whether the path represents a file.</div></div>
+<div class="ttc" id="aopendal_8h_html_a8c11fb124aac4911b663122dbfa7d1fa"><div class="ttname"><a href="opendal_8h.html#a8c11fb124aac4911b663122dbfa7d1fa">BlockingReader</a></div><div class="ttdeci">struct BlockingReader BlockingReader</div><div class="ttdef"><b>Definition:</b> opendal.h:151</div></div>
<div class="ttc" id="aopendal_8h_html_a8ff66345b1c45c66920ef0ddfef739c5"><div class="ttname"><a href="opendal_8h.html#a8ff66345b1c45c66920ef0ddfef739c5">opendal_metadata_free</a></div><div class="ttdeci">void opendal_metadata_free(struct opendal_metadata *ptr)</div><div class="ttdoc">Free the heap-allocated metadata used by opendal_metadata.</div></div>
<div class="ttc" id="aopendal_8h_html_aae5d70fff7f6c87e07b8aa97e08e7191"><div class="ttname"><a href="opendal_8h.html#aae5d70fff7f6c87e07b8aa97e08e7191">opendal_operator_ptr</a></div><div class="ttdeci">struct opendal_operator_ptr opendal_operator_ptr</div><div class="ttdoc">Used to access almost all OpenDAL APIs. It represents a operator that provides the unified interfaces...</div></div>
<div class="ttc" id="aopendal_8h_html_aba7687efb3e2f74800e93aee4eede6cc"><div class="ttname"><a href="opendal_8h.html#aba7687efb3e2f74800e93aee4eede6cc">opendal_error</a></div><div class="ttdeci">struct opendal_error opendal_error</div><div class="ttdoc">The opendal error type for C binding, containing an error code and corresponding error message.</div></div>
<div class="ttc" id="aopendal_8h_html_ac8cb949fb37f83dfcbe78976eaa29409"><div class="ttname"><a href="opendal_8h.html#ac8cb949fb37f83dfcbe78976eaa29409">opendal_metadata_is_dir</a></div><div class="ttdeci">bool opendal_metadata_is_dir(const struct opendal_metadata *self)</div><div class="ttdoc">Return whether the path represents a directory.</div></div>
<div class="ttc" id="aopendal_8h_html_ac8e9a9da0f04cb80848e7e42c3b90235"><div class="ttname"><a href="opendal_8h.html#ac8e9a9da0f04cb80848e7e42c3b90235">opendal_metadata_content_length</a></div><div class="ttdeci">uint64_t opendal_metadata_content_length(const struct opendal_metadata *self)</div><div class="ttdoc">Return the content_length of the metadata.</div></div>
<div class="ttc" id="aopendal_8h_html_ac9b6091ec4c8aa0333727b34de3fa845"><div class="ttname"><a href="opendal_8h.html#ac9b6091ec4c8aa0333727b34de3fa845">opendal_list_entry_name</a></div><div class="ttdeci">char * opendal_list_entry_name(const struct opendal_list_entry *self)</div><div class="ttdoc">Name of entry.</div></div>
+<div class="ttc" id="aopendal_8h_html_ae10ef4bd17ee529fbfa8ab6ed9d0e3a4"><div class="ttname"><a href="opendal_8h.html#ae10ef4bd17ee529fbfa8ab6ed9d0e3a4">opendal_reader_read</a></div><div class="ttdeci">struct opendal_result_reader_read opendal_reader_read(const struct opendal_reader *self, uint8_t *buf, uintptr_t len)</div></div>
<div class="ttc" id="aopendal_8h_html_ae5a3bf403cdf78d5c5b1fa9f623f0d80"><div class="ttname"><a href="opendal_8h.html#ae5a3bf403cdf78d5c5b1fa9f623f0d80">opendal_operator_is_exist</a></div><div class="ttdeci">struct opendal_result_is_exist opendal_operator_is_exist(const struct opendal_operator_ptr *ptr, const char *path)</div><div class="ttdoc">Check whether the path exists.</div></div>
<div class="ttc" id="aopendal_8h_html_ae8fc63885af34e53afbb075dfed39732"><div class="ttname"><a href="opendal_8h.html#ae8fc63885af34e53afbb075dfed39732">opendal_operator_blocking_read</a></div><div class="ttdeci">struct opendal_result_read opendal_operator_blocking_read(const struct opendal_operator_ptr *ptr, const char *path)</div><div class="ttdoc">Blockingly read the data from path.</div></div>
<div class="ttc" id="aopendal_8h_html_aea5253c2bbe9438349eebb68a18a82ea"><div class="ttname"><a href="opendal_8h.html#aea5253c2bbe9438349eebb68a18a82ea">opendal_bytes_free</a></div><div class="ttdeci">void opendal_bytes_free(struct opendal_bytes *ptr)</div><div class="ttdoc">Frees the heap memory used by the opendal_bytes.</div></div>
@@ -286,37 +318,45 @@ $(function() {
<div class="ttc" id="aopendal_8h_html_af408af922875eb26c25cef4ddfdede02"><div class="ttname"><a href="opendal_8h.html#af408af922875eb26c25cef4ddfdede02">opendal_operator_options_set</a></div><div class="ttdeci">void opendal_operator_options_set(struct opendal_operator_options *self, const char *key, const char *value)</div><div class="ttdoc">Set a Key-Value pair inside opendal_operator_options.</div></div>
<div class="ttc" id="aopendal_8h_html_afa415362bf713d7c7869225a7f50f4a5"><div class="ttname"><a href="opendal_8h.html#afa415362bf713d7c7869225a7f50f4a5">opendal_list_entry_free</a></div><div class="ttdeci">void opendal_list_entry_free(struct opendal_list_entry *ptr)</div><div class="ttdoc">Frees the heap memory used by the opendal_list_entry.</div></div>
<div class="ttc" id="aopendal_8h_html_afbd6b36f0b084ca5fa251ebd5e317abf"><div class="ttname"><a href="opendal_8h.html#afbd6b36f0b084ca5fa251ebd5e317abf">opendal_result_is_exist</a></div><div class="ttdeci">struct opendal_result_is_exist opendal_result_is_exist</div><div class="ttdoc">The result type returned by opendal_operator_is_exist().</div></div>
-<div class="ttc" id="astructopendal__blocking__lister_html"><div class="ttname"><a href="structopendal__blocking__lister.html">opendal_blocking_lister</a></div><div class="ttdoc">BlockingLister is designed to list entries at given path in a blocking manner.</div><div class="ttdef"><b>Definition:</b> opendal.h:390</div></div>
-<div class="ttc" id="astructopendal__blocking__lister_html_abe85b5f87a529f81fb7542cdef536a7f"><div class="ttname"><a href="structopendal__blocking__lister.html#abe85b5f87a529f81fb7542cdef536a7f">opendal_blocking_lister::inner</a></div><div class="ttdeci">struct BlockingLister * inner</div><div class="ttdef"><b>Definition:</b> opendal.h:391</div></div>
-<div class="ttc" id="astructopendal__bytes_html"><div class="ttname"><a href="structopendal__bytes.html">opendal_bytes</a></div><div class="ttdoc">opendal_bytes carries raw-bytes with its length</div><div class="ttdef"><b>Definition:</b> opendal.h:234</div></div>
-<div class="ttc" id="astructopendal__bytes_html_a16abed2ad211c076650d1ea81772b851"><div class="ttname"><a href="structopendal__bytes.html#a16abed2ad211c076650d1ea81772b851">opendal_bytes::len</a></div><div class="ttdeci">uintptr_t len</div><div class="ttdef"><b>Definition:</b> opendal.h:242</div></div>
-<div class="ttc" id="astructopendal__bytes_html_af7a7f99a262f8a3912f4d1cddb798c86"><div class="ttname"><a href="structopendal__bytes.html#af7a7f99a262f8a3912f4d1cddb798c86">opendal_bytes::data</a></div><div class="ttdeci">const uint8_t * data</div><div class="ttdef"><b>Definition:</b> opendal.h:238</div></div>
-<div class="ttc" id="astructopendal__error_html"><div class="ttname"><a href="structopendal__error.html">opendal_error</a></div><div class="ttdoc">The opendal error type for C binding, containing an error code and corresponding error message.</div><div class="ttdef"><b>Definition:</b> opendal.h:264</div></div>
-<div class="ttc" id="astructopendal__error_html_a64095efcf3588a1871b14eab3041d0d4"><div class="ttname"><a href="structopendal__error.html#a64095efcf3588a1871b14eab3041d0d4">opendal_error::message</a></div><div class="ttdeci">struct opendal_bytes message</div><div class="ttdef"><b>Definition:</b> opendal.h:266</div></div>
-<div class="ttc" id="astructopendal__error_html_ac5ac4b16d49b767afdb29cf9b8115e53"><div class="ttname"><a href="structopendal__error.html#ac5ac4b16d49b767afdb29cf9b8115e53">opendal_error::code</a></div><div class="ttdeci">enum opendal_code code</div><div class="ttdef"><b>Definition:</b> opendal.h:265</div></div>
-<div class="ttc" id="astructopendal__list__entry_html"><div class="ttname"><a href="structopendal__list__entry.html">opendal_list_entry</a></div><div class="ttdoc">opendal_list_entry is the entry under a path, which is listed from the opendal_blocking_lister</div><div class="ttdef"><b>Definition:</b> opendal.h:420</div></div>
-<div class="ttc" id="astructopendal__list__entry_html_a23ad6b3ca61aa600ef6f3769f2479892"><div class="ttname"><a href="structopendal__list__entry.html#a23ad6b3ca61aa600ef6f3769f2479892">opendal_list_entry::inner</a></div><div class="ttdeci">struct Entry * inner</div><div class="ttdef"><b>Definition:</b> opendal.h:421</div></div>
-<div class="ttc" id="astructopendal__metadata_html"><div class="ttname"><a href="structopendal__metadata.html">opendal_metadata</a></div><div class="ttdoc">Carries all metadata associated with a path.</div><div class="ttdef"><b>Definition:</b> opendal.h:355</div></div>
-<div class="ttc" id="astructopendal__metadata_html_afadf4e2bbfa3ee699d3c3d9c0a96a404"><div class="ttname"><a href="structopendal__metadata.html#afadf4e2bbfa3ee699d3c3d9c0a96a404">opendal_metadata::inner</a></div><div class="ttdeci">struct Metadata * inner</div><div class="ttdef"><b>Definition:</b> opendal.h:360</div></div>
-<div class="ttc" id="astructopendal__operator__options_html"><div class="ttname"><a href="structopendal__operator__options.html">opendal_operator_options</a></div><div class="ttdoc">The configuration for the initialization of opendal_operator_ptr.</div><div class="ttdef"><b>Definition:</b> opendal.h:296</div></div>
-<div class="ttc" id="astructopendal__operator__options_html_a0b4a1a2cd9074140b04836b822a04645"><div class="ttname"><a href="structopendal__operator__options.html#a0b4a1a2cd9074140b04836b822a04645">opendal_operator_options::inner</a></div><div class="ttdeci">struct HashMap_String__String * inner</div><div class="ttdef"><b>Definition:</b> opendal.h:301</div></div>
-<div class="ttc" id="astructopendal__operator__ptr_html"><div class="ttname"><a href="structopendal__operator__ptr.html">opendal_operator_ptr</a></div><div class="ttdoc">Used to access almost all OpenDAL APIs. It represents a operator that provides the unified interfaces...</div><div class="ttdef"><b>Definition:</b> opendal.h:217</div></div>
-<div class="ttc" id="astructopendal__operator__ptr_html_a17b619ae01bb6471f51f8501ab18dd9b"><div class="ttname"><a href="structopendal__operator__ptr.html#a17b619ae01bb6471f51f8501ab18dd9b">opendal_operator_ptr::ptr</a></div><div class="ttdeci">const struct BlockingOperator * ptr</div><div class="ttdef"><b>Definition:</b> opendal.h:222</div></div>
-<div class="ttc" id="astructopendal__result__is__exist_html"><div class="ttname"><a href="structopendal__result__is__exist.html">opendal_result_is_exist</a></div><div class="ttdoc">The result type returned by opendal_operator_is_exist().</div><div class="ttdef"><b>Definition:</b> opendal.h:333</div></div>
-<div class="ttc" id="astructopendal__result__is__exist_html_a6dc61502ab68ba25bcd56b09a215de6c"><div class="ttname"><a href="structopendal__result__is__exist.html#a6dc61502ab68ba25bcd56b09a215de6c">opendal_result_is_exist::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:341</div></div>
-<div class="ttc" id="astructopendal__result__is__exist_html_abe145d68333ea78b438ef92a12d9d295"><div class="ttname"><a href="structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295">opendal_result_is_exist::is_exist</a></div><div class="ttdeci">bool is_exist</div><div class="ttdef"><b>Definition:</b> opendal.h:337</div></div>
-<div class="ttc" id="astructopendal__result__list_html"><div class="ttname"><a href="structopendal__result__list.html">opendal_result_list</a></div><div class="ttdoc">The result type returned by opendal_operator_blocking_list().</div><div class="ttdef"><b>Definition:</b> opendal.h:401</div></div>
-<div class="ttc" id="astructopendal__result__list_html_a1388cb447f532ecd19ff9a13e09daced"><div class="ttname"><a href="structopendal__result__list.html#a1388cb447f532ecd19ff9a13e09daced">opendal_result_list::lister</a></div><div class="ttdeci">struct opendal_blocking_lister * lister</div><div class="ttdef"><b>Definition:</b> opendal.h:405</div></div>
-<div class="ttc" id="astructopendal__result__list_html_a874bfb5c9d016445698fb59d65b76ed2"><div class="ttname"><a href="structopendal__result__list.html#a874bfb5c9d016445698fb59d65b76ed2">opendal_result_list::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:409</div></div>
-<div class="ttc" id="astructopendal__result__operator__new_html"><div class="ttname"><a href="structopendal__result__operator__new.html">opendal_result_operator_new</a></div><div class="ttdoc">The result type returned by opendal_operator_new() operation.</div><div class="ttdef"><b>Definition:</b> opendal.h:281</div></div>
-<div class="ttc" id="astructopendal__result__operator__new_html_a1998b1bb97c81253564e0a9228759891"><div class="ttname"><a href="structopendal__result__operator__new.html#a1998b1bb97c81253564e0a9228759891">opendal_result_operator_new::operator_ptr</a></div><div class="ttdeci">struct opendal_operator_ptr * operator_ptr</div><div class="ttdef"><b>Definition:</b> opendal.h:282</div></div>
-<div class="ttc" id="astructopendal__result__operator__new_html_a5ee50d6c74038806e57d12d1880ac520"><div class="ttname"><a href="structopendal__result__operator__new.html#a5ee50d6c74038806e57d12d1880ac520">opendal_result_operator_new::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:283</div></div>
-<div class="ttc" id="astructopendal__result__read_html"><div class="ttname"><a href="structopendal__result__read.html">opendal_result_read</a></div><div class="ttdoc">The result type returned by opendal's read operation.</div><div class="ttdef"><b>Definition:</b> opendal.h:312</div></div>
-<div class="ttc" id="astructopendal__result__read_html_a6cd0e4e83ed4509856de0d1e6b83e2f2"><div class="ttname"><a href="structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2">opendal_result_read::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:320</div></div>
-<div class="ttc" id="astructopendal__result__read_html_ad8ca467bcbe6d1768e15fcf64fe78e9f"><div class="ttname"><a href="structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f">opendal_result_read::data</a></div><div class="ttdeci">struct opendal_bytes * data</div><div class="ttdef"><b>Definition:</b> opendal.h:316</div></div>
-<div class="ttc" id="astructopendal__result__stat_html"><div class="ttname"><a href="structopendal__result__stat.html">opendal_result_stat</a></div><div class="ttdoc">The result type returned by opendal_operator_stat().</div><div class="ttdef"><b>Definition:</b> opendal.h:370</div></div>
-<div class="ttc" id="astructopendal__result__stat_html_a1d4d484d7bf50bc8e5d65dea5f6f2425"><div class="ttname"><a href="structopendal__result__stat.html#a1d4d484d7bf50bc8e5d65dea5f6f2425">opendal_result_stat::meta</a></div><div class="ttdeci">struct opendal_metadata * meta</div><div class="ttdef"><b>Definition:</b> opendal.h:374</div></div>
-<div class="ttc" id="astructopendal__result__stat_html_a657eee3bfdf805036f169d94ee70dce9"><div class="ttname"><a href="structopendal__result__stat.html#a657eee3bfdf805036f169d94ee70dce9">opendal_result_stat::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:378</div></div>
+<div class="ttc" id="astructopendal__blocking__lister_html"><div class="ttname"><a href="structopendal__blocking__lister.html">opendal_blocking_lister</a></div><div class="ttdoc">BlockingLister is designed to list entries at given path in a blocking manner.</div><div class="ttdef"><b>Definition:</b> opendal.h:411</div></div>
+<div class="ttc" id="astructopendal__blocking__lister_html_abe85b5f87a529f81fb7542cdef536a7f"><div class="ttname"><a href="structopendal__blocking__lister.html#abe85b5f87a529f81fb7542cdef536a7f">opendal_blocking_lister::inner</a></div><div class="ttdeci">struct BlockingLister * inner</div><div class="ttdef"><b>Definition:</b> opendal.h:412</div></div>
+<div class="ttc" id="astructopendal__bytes_html"><div class="ttname"><a href="structopendal__bytes.html">opendal_bytes</a></div><div class="ttdoc">opendal_bytes carries raw-bytes with its length</div><div class="ttdef"><b>Definition:</b> opendal.h:240</div></div>
+<div class="ttc" id="astructopendal__bytes_html_a16abed2ad211c076650d1ea81772b851"><div class="ttname"><a href="structopendal__bytes.html#a16abed2ad211c076650d1ea81772b851">opendal_bytes::len</a></div><div class="ttdeci">uintptr_t len</div><div class="ttdef"><b>Definition:</b> opendal.h:248</div></div>
+<div class="ttc" id="astructopendal__bytes_html_af7a7f99a262f8a3912f4d1cddb798c86"><div class="ttname"><a href="structopendal__bytes.html#af7a7f99a262f8a3912f4d1cddb798c86">opendal_bytes::data</a></div><div class="ttdeci">const uint8_t * data</div><div class="ttdef"><b>Definition:</b> opendal.h:244</div></div>
+<div class="ttc" id="astructopendal__error_html"><div class="ttname"><a href="structopendal__error.html">opendal_error</a></div><div class="ttdoc">The opendal error type for C binding, containing an error code and corresponding error message.</div><div class="ttdef"><b>Definition:</b> opendal.h:270</div></div>
+<div class="ttc" id="astructopendal__error_html_a64095efcf3588a1871b14eab3041d0d4"><div class="ttname"><a href="structopendal__error.html#a64095efcf3588a1871b14eab3041d0d4">opendal_error::message</a></div><div class="ttdeci">struct opendal_bytes message</div><div class="ttdef"><b>Definition:</b> opendal.h:272</div></div>
+<div class="ttc" id="astructopendal__error_html_ac5ac4b16d49b767afdb29cf9b8115e53"><div class="ttname"><a href="structopendal__error.html#ac5ac4b16d49b767afdb29cf9b8115e53">opendal_error::code</a></div><div class="ttdeci">enum opendal_code code</div><div class="ttdef"><b>Definition:</b> opendal.h:271</div></div>
+<div class="ttc" id="astructopendal__list__entry_html"><div class="ttname"><a href="structopendal__list__entry.html">opendal_list_entry</a></div><div class="ttdoc">opendal_list_entry is the entry under a path, which is listed from the opendal_blocking_lister</div><div class="ttdef"><b>Definition:</b> opendal.h:441</div></div>
+<div class="ttc" id="astructopendal__list__entry_html_a23ad6b3ca61aa600ef6f3769f2479892"><div class="ttname"><a href="structopendal__list__entry.html#a23ad6b3ca61aa600ef6f3769f2479892">opendal_list_entry::inner</a></div><div class="ttdeci">struct Entry * inner</div><div class="ttdef"><b>Definition:</b> opendal.h:442</div></div>
+<div class="ttc" id="astructopendal__metadata_html"><div class="ttname"><a href="structopendal__metadata.html">opendal_metadata</a></div><div class="ttdoc">Carries all metadata associated with a path.</div><div class="ttdef"><b>Definition:</b> opendal.h:376</div></div>
+<div class="ttc" id="astructopendal__metadata_html_afadf4e2bbfa3ee699d3c3d9c0a96a404"><div class="ttname"><a href="structopendal__metadata.html#afadf4e2bbfa3ee699d3c3d9c0a96a404">opendal_metadata::inner</a></div><div class="ttdeci">struct Metadata * inner</div><div class="ttdef"><b>Definition:</b> opendal.h:381</div></div>
+<div class="ttc" id="astructopendal__operator__options_html"><div class="ttname"><a href="structopendal__operator__options.html">opendal_operator_options</a></div><div class="ttdoc">The configuration for the initialization of opendal_operator_ptr.</div><div class="ttdef"><b>Definition:</b> opendal.h:302</div></div>
+<div class="ttc" id="astructopendal__operator__options_html_a0b4a1a2cd9074140b04836b822a04645"><div class="ttname"><a href="structopendal__operator__options.html#a0b4a1a2cd9074140b04836b822a04645">opendal_operator_options::inner</a></div><div class="ttdeci">struct HashMap_String__String * inner</div><div class="ttdef"><b>Definition:</b> opendal.h:307</div></div>
+<div class="ttc" id="astructopendal__operator__ptr_html"><div class="ttname"><a href="structopendal__operator__ptr.html">opendal_operator_ptr</a></div><div class="ttdoc">Used to access almost all OpenDAL APIs. It represents a operator that provides the unified interfaces...</div><div class="ttdef"><b>Definition:</b> opendal.h:223</div></div>
+<div class="ttc" id="astructopendal__operator__ptr_html_a17b619ae01bb6471f51f8501ab18dd9b"><div class="ttname"><a href="structopendal__operator__ptr.html#a17b619ae01bb6471f51f8501ab18dd9b">opendal_operator_ptr::ptr</a></div><div class="ttdeci">const struct BlockingOperator * ptr</div><div class="ttdef"><b>Definition:</b> opendal.h:228</div></div>
+<div class="ttc" id="astructopendal__reader_html"><div class="ttname"><a href="structopendal__reader.html">opendal_reader</a></div><div class="ttdef"><b>Definition:</b> opendal.h:329</div></div>
+<div class="ttc" id="astructopendal__reader_html_a25070270d288274fc2fcb1e38d389718"><div class="ttname"><a href="structopendal__reader.html#a25070270d288274fc2fcb1e38d389718">opendal_reader::inner</a></div><div class="ttdeci">struct BlockingReader * inner</div><div class="ttdef"><b>Definition:</b> opendal.h:330</div></div>
+<div class="ttc" id="astructopendal__result__is__exist_html"><div class="ttname"><a href="structopendal__result__is__exist.html">opendal_result_is_exist</a></div><div class="ttdoc">The result type returned by opendal_operator_is_exist().</div><div class="ttdef"><b>Definition:</b> opendal.h:354</div></div>
+<div class="ttc" id="astructopendal__result__is__exist_html_a6dc61502ab68ba25bcd56b09a215de6c"><div class="ttname"><a href="structopendal__result__is__exist.html#a6dc61502ab68ba25bcd56b09a215de6c">opendal_result_is_exist::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:362</div></div>
+<div class="ttc" id="astructopendal__result__is__exist_html_abe145d68333ea78b438ef92a12d9d295"><div class="ttname"><a href="structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295">opendal_result_is_exist::is_exist</a></div><div class="ttdeci">bool is_exist</div><div class="ttdef"><b>Definition:</b> opendal.h:358</div></div>
+<div class="ttc" id="astructopendal__result__list_html"><div class="ttname"><a href="structopendal__result__list.html">opendal_result_list</a></div><div class="ttdoc">The result type returned by opendal_operator_blocking_list().</div><div class="ttdef"><b>Definition:</b> opendal.h:422</div></div>
+<div class="ttc" id="astructopendal__result__list_html_a1388cb447f532ecd19ff9a13e09daced"><div class="ttname"><a href="structopendal__result__list.html#a1388cb447f532ecd19ff9a13e09daced">opendal_result_list::lister</a></div><div class="ttdeci">struct opendal_blocking_lister * lister</div><div class="ttdef"><b>Definition:</b> opendal.h:426</div></div>
+<div class="ttc" id="astructopendal__result__list_html_a874bfb5c9d016445698fb59d65b76ed2"><div class="ttname"><a href="structopendal__result__list.html#a874bfb5c9d016445698fb59d65b76ed2">opendal_result_list::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:430</div></div>
+<div class="ttc" id="astructopendal__result__operator__new_html"><div class="ttname"><a href="structopendal__result__operator__new.html">opendal_result_operator_new</a></div><div class="ttdoc">The result type returned by opendal_operator_new() operation.</div><div class="ttdef"><b>Definition:</b> opendal.h:287</div></div>
+<div class="ttc" id="astructopendal__result__operator__new_html_a1998b1bb97c81253564e0a9228759891"><div class="ttname"><a href="structopendal__result__operator__new.html#a1998b1bb97c81253564e0a9228759891">opendal_result_operator_new::operator_ptr</a></div><div class="ttdeci">struct opendal_operator_ptr * operator_ptr</div><div class="ttdef"><b>Definition:</b> opendal.h:288</div></div>
+<div class="ttc" id="astructopendal__result__operator__new_html_a5ee50d6c74038806e57d12d1880ac520"><div class="ttname"><a href="structopendal__result__operator__new.html#a5ee50d6c74038806e57d12d1880ac520">opendal_result_operator_new::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:289</div></div>
+<div class="ttc" id="astructopendal__result__read_html"><div class="ttname"><a href="structopendal__result__read.html">opendal_result_read</a></div><div class="ttdoc">The result type returned by opendal's read operation.</div><div class="ttdef"><b>Definition:</b> opendal.h:318</div></div>
+<div class="ttc" id="astructopendal__result__read_html_a6cd0e4e83ed4509856de0d1e6b83e2f2"><div class="ttname"><a href="structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2">opendal_result_read::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:326</div></div>
+<div class="ttc" id="astructopendal__result__read_html_ad8ca467bcbe6d1768e15fcf64fe78e9f"><div class="ttname"><a href="structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f">opendal_result_read::data</a></div><div class="ttdeci">struct opendal_bytes * data</div><div class="ttdef"><b>Definition:</b> opendal.h:322</div></div>
+<div class="ttc" id="astructopendal__result__reader__read_html"><div class="ttname"><a href="structopendal__result__reader__read.html">opendal_result_reader_read</a></div><div class="ttdef"><b>Definition:</b> opendal.h:445</div></div>
+<div class="ttc" id="astructopendal__result__reader__read_html_a1279e7b3cb6beaf63da0f6ee9370ba36"><div class="ttname"><a href="structopendal__result__reader__read.html#a1279e7b3cb6beaf63da0f6ee9370ba36">opendal_result_reader_read::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:447</div></div>
+<div class="ttc" id="astructopendal__result__reader__read_html_a5a513cafeacebef13f74fd50c30e9810"><div class="ttname"><a href="structopendal__result__reader__read.html#a5a513cafeacebef13f74fd50c30e9810">opendal_result_reader_read::size</a></div><div class="ttdeci">uintptr_t size</div><div class="ttdef"><b>Definition:</b> opendal.h:446</div></div>
+<div class="ttc" id="astructopendal__result__reader_html"><div class="ttname"><a href="structopendal__result__reader.html">opendal_result_reader</a></div><div class="ttdoc">The result type returned by opendal_operator_reader(). The result type for opendal_operator_reader(),...</div><div class="ttdef"><b>Definition:</b> opendal.h:339</div></div>
+<div class="ttc" id="astructopendal__result__reader_html_a1c075185ae159ac377b3e971c359efc2"><div class="ttname"><a href="structopendal__result__reader.html#a1c075185ae159ac377b3e971c359efc2">opendal_result_reader::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:341</div></div>
+<div class="ttc" id="astructopendal__result__reader_html_ab2f72d683d38843ca9b429fc9a80272d"><div class="ttname"><a href="structopendal__result__reader.html#ab2f72d683d38843ca9b429fc9a80272d">opendal_result_reader::reader</a></div><div class="ttdeci">struct opendal_reader * reader</div><div class="ttdef"><b>Definition:</b> opendal.h:340</div></div>
+<div class="ttc" id="astructopendal__result__stat_html"><div class="ttname"><a href="structopendal__result__stat.html">opendal_result_stat</a></div><div class="ttdoc">The result type returned by opendal_operator_stat().</div><div class="ttdef"><b>Definition:</b> opendal.h:391</div></div>
+<div class="ttc" id="astructopendal__result__stat_html_a1d4d484d7bf50bc8e5d65dea5f6f2425"><div class="ttname"><a href="structopendal__result__stat.html#a1d4d484d7bf50bc8e5d65dea5f6f2425">opendal_result_stat::meta</a></div><div class="ttdeci">struct opendal_metadata * meta</div><div class="ttdef"><b>Definition:</b> opendal.h:395</div></div>
+<div class="ttc" id="astructopendal__result__stat_html_a657eee3bfdf805036f169d94ee70dce9"><div class="ttname"><a href="structopendal__result__stat.html#a657eee3bfdf805036f169d94ee70dce9">opendal_result_stat::error</a></div><div class="ttdeci">struct opendal_error * error</div><div class="ttdef"><b>Definition:</b> opendal.h:399</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
diff --git a/docs/c/search/all_0.js b/docs/c/search/all_0.js
index 8bafd0a99..d801d4af9 100644
--- a/docs/c/search/all_0.js
+++ b/docs/c/search/all_0.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['blockinglister_0',['BlockingLister',['../opendal_8h.html#a03ea17a7d09e319825d05a1d9f5d933c',1,'opendal.h']]]
+ ['blockinglister_0',['BlockingLister',['../opendal_8h.html#a03ea17a7d09e319825d05a1d9f5d933c',1,'opendal.h']]],
+ ['blockingreader_1',['BlockingReader',['../opendal_8h.html#a8c11fb124aac4911b663122dbfa7d1fa',1,'opendal.h']]]
];
diff --git a/docs/c/search/all_1.js b/docs/c/search/all_1.js
index c5460d09b..f73325c41 100644
--- a/docs/c/search/all_1.js
+++ b/docs/c/search/all_1.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['code_1',['code',['../structopendal__error.html#ac5ac4b16d49b767afdb29cf9b8115e53',1,'opendal_error']]]
+ ['code_2',['code',['../structopendal__error.html#ac5ac4b16d49b767afdb29cf9b8115e53',1,'opendal_error']]]
];
diff --git a/docs/c/search/all_2.js b/docs/c/search/all_2.js
index 39e9a5e4e..7884b297a 100644
--- a/docs/c/search/all_2.js
+++ b/docs/c/search/all_2.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['data_2',['data',['../structopendal__bytes.html#af7a7f99a262f8a3912f4d1cddb798c86',1,'opendal_bytes::data()'],['../structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f',1,'opendal_result_read::data()']]]
+ ['data_3',['data',['../structopendal__bytes.html#af7a7f99a262f8a3912f4d1cddb798c86',1,'opendal_bytes::data()'],['../structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f',1,'opendal_result_read::data()']]]
];
diff --git a/docs/c/search/all_3.js b/docs/c/search/all_3.js
index ea014685b..036672d8b 100644
--- a/docs/c/search/all_3.js
+++ b/docs/c/search/all_3.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['entry_3',['Entry',['../opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8',1,'opendal.h']]],
- ['error_4',['error',['../structopendal__result__operator__new.html#a5ee50d6c74038806e57d12d1880ac520',1,'opendal_result_operator_new::error()'],['../structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2',1,'opendal_result_read::error()'],['../structopendal__result__is__exist.html#a6dc61502ab68ba25bcd56b09a215de6c',1,'opendal_result_is_exist::error()'],['../structopendal__result__stat.html#a657eee3bfdf805036f169d94ee70dce9',1,'opendal_result_stat::error()'],['../structopend [...]
+ ['entry_4',['Entry',['../opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8',1,'opendal.h']]],
+ ['error_5',['error',['../structopendal__result__operator__new.html#a5ee50d6c74038806e57d12d1880ac520',1,'opendal_result_operator_new::error()'],['../structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2',1,'opendal_result_read::error()'],['../structopendal__result__reader.html#a1c075185ae159ac377b3e971c359efc2',1,'opendal_result_reader::error()'],['../structopendal__result__is__exist.html#a6dc61502ab68ba25bcd56b09a215de6c',1,'opendal_result_is_exist::error()'],['../structo [...]
];
diff --git a/docs/c/search/all_4.js b/docs/c/search/all_4.js
index 14d539403..e6b5ae024 100644
--- a/docs/c/search/all_4.js
+++ b/docs/c/search/all_4.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['inner_5',['inner',['../structopendal__operator__options.html#a0b4a1a2cd9074140b04836b822a04645',1,'opendal_operator_options::inner()'],['../structopendal__metadata.html#afadf4e2bbfa3ee699d3c3d9c0a96a404',1,'opendal_metadata::inner()'],['../structopendal__blocking__lister.html#abe85b5f87a529f81fb7542cdef536a7f',1,'opendal_blocking_lister::inner()'],['../structopendal__list__entry.html#a23ad6b3ca61aa600ef6f3769f2479892',1,'opendal_list_entry::inner()']]],
- ['is_5fexist_6',['is_exist',['../structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295',1,'opendal_result_is_exist']]]
+ ['inner_6',['inner',['../structopendal__operator__options.html#a0b4a1a2cd9074140b04836b822a04645',1,'opendal_operator_options::inner()'],['../structopendal__reader.html#a25070270d288274fc2fcb1e38d389718',1,'opendal_reader::inner()'],['../structopendal__metadata.html#afadf4e2bbfa3ee699d3c3d9c0a96a404',1,'opendal_metadata::inner()'],['../structopendal__blocking__lister.html#abe85b5f87a529f81fb7542cdef536a7f',1,'opendal_blocking_lister::inner()'],['../structopendal__list__entry.html#a23ad [...]
+ ['is_5fexist_7',['is_exist',['../structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295',1,'opendal_result_is_exist']]]
];
diff --git a/docs/c/search/all_5.js b/docs/c/search/all_5.js
index c59841338..cb6ea6a13 100644
--- a/docs/c/search/all_5.js
+++ b/docs/c/search/all_5.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['len_7',['len',['../structopendal__bytes.html#a16abed2ad211c076650d1ea81772b851',1,'opendal_bytes']]],
- ['lister_8',['lister',['../structopendal__result__list.html#a1388cb447f532ecd19ff9a13e09daced',1,'opendal_result_list']]]
+ ['len_8',['len',['../structopendal__bytes.html#a16abed2ad211c076650d1ea81772b851',1,'opendal_bytes']]],
+ ['lister_9',['lister',['../structopendal__result__list.html#a1388cb447f532ecd19ff9a13e09daced',1,'opendal_result_list']]]
];
diff --git a/docs/c/search/all_6.js b/docs/c/search/all_6.js
index f8ff3d52a..efb0c800b 100644
--- a/docs/c/search/all_6.js
+++ b/docs/c/search/all_6.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['message_9',['message',['../structopendal__error.html#a64095efcf3588a1871b14eab3041d0d4',1,'opendal_error']]],
- ['meta_10',['meta',['../structopendal__result__stat.html#a1d4d484d7bf50bc8e5d65dea5f6f2425',1,'opendal_result_stat']]]
+ ['message_10',['message',['../structopendal__error.html#a64095efcf3588a1871b14eab3041d0d4',1,'opendal_error']]],
+ ['meta_11',['meta',['../structopendal__result__stat.html#a1d4d484d7bf50bc8e5d65dea5f6f2425',1,'opendal_result_stat']]]
];
diff --git a/docs/c/search/all_7.js b/docs/c/search/all_7.js
index 9113fad9a..77bdf38c0 100644
--- a/docs/c/search/all_7.js
+++ b/docs/c/search/all_7.js
@@ -1,51 +1,57 @@
var searchData=
[
- ['opendal_20c_20binding_20_28wip_29_11',['OpenDAL C Binding (WIP)',['../index.html',1,'']]],
- ['opendal_2eh_12',['opendal.h',['../opendal_8h.html',1,'']]],
- ['opendal_5falready_5fexists_13',['OPENDAL_ALREADY_EXISTS',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a8f0a65852b0b02a0a3c73f7382607d67',1,'opendal.h']]],
- ['opendal_5fblocking_5flister_14',['opendal_blocking_lister',['../structopendal__blocking__lister.html',1,'opendal_blocking_lister'],['../opendal_8h.html#a0b698963d36cbe398ba4bd4e61195e44',1,'opendal_blocking_lister(): opendal.h']]],
- ['opendal_5fbytes_15',['opendal_bytes',['../structopendal__bytes.html',1,'opendal_bytes'],['../opendal_8h.html#a4117acdec0983ce12962491960847381',1,'opendal_bytes(): opendal.h']]],
- ['opendal_5fbytes_5ffree_16',['opendal_bytes_free',['../opendal_8h.html#aea5253c2bbe9438349eebb68a18a82ea',1,'opendal.h']]],
- ['opendal_5fcode_17',['opendal_code',['../opendal_8h.html#a333cc71b98ca4ce17183c1b4263ddd1f',1,'opendal_code(): opendal.h'],['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2',1,'opendal_code(): opendal.h']]],
- ['opendal_5fconfig_5finvalid_18',['OPENDAL_CONFIG_INVALID',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2af0fb62173ba6973b328c3342a95f53b5',1,'opendal.h']]],
- ['opendal_5ferror_19',['opendal_error',['../structopendal__error.html',1,'opendal_error'],['../opendal_8h.html#aba7687efb3e2f74800e93aee4eede6cc',1,'opendal_error(): opendal.h']]],
- ['opendal_5ferror_5ffree_20',['opendal_error_free',['../opendal_8h.html#a4a8d92df21f5473762677afd9af5f714',1,'opendal.h']]],
- ['opendal_5fis_5fa_5fdirectory_21',['OPENDAL_IS_A_DIRECTORY',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a74508dd984ae3f13a700a8952ca03361',1,'opendal.h']]],
- ['opendal_5fis_5fsame_5ffile_22',['OPENDAL_IS_SAME_FILE',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2aa2ade9f6ea9d1ad5a6f328a73217e536',1,'opendal.h']]],
- ['opendal_5flist_5fentry_23',['opendal_list_entry',['../structopendal__list__entry.html',1,'opendal_list_entry'],['../opendal_8h.html#a3d3583cbe9b8b5281ddbc3c4f78dca33',1,'opendal_list_entry(): opendal.h']]],
- ['opendal_5flist_5fentry_5ffree_24',['opendal_list_entry_free',['../opendal_8h.html#afa415362bf713d7c7869225a7f50f4a5',1,'opendal.h']]],
- ['opendal_5flist_5fentry_5fname_25',['opendal_list_entry_name',['../opendal_8h.html#ac9b6091ec4c8aa0333727b34de3fa845',1,'opendal.h']]],
- ['opendal_5flist_5fentry_5fpath_26',['opendal_list_entry_path',['../opendal_8h.html#a3a9984872f04ae478af91a15e1af0af0',1,'opendal.h']]],
- ['opendal_5flister_5ffree_27',['opendal_lister_free',['../opendal_8h.html#a25e2bd426163636455d6ba2e82547db7',1,'opendal.h']]],
- ['opendal_5flister_5fnext_28',['opendal_lister_next',['../opendal_8h.html#a191fdabb43a5173bcb00fbb3f615070c',1,'opendal.h']]],
- ['opendal_5fmetadata_29',['opendal_metadata',['../structopendal__metadata.html',1,'opendal_metadata'],['../opendal_8h.html#af0acf7956915881ccd1f0874f309c682',1,'opendal_metadata(): opendal.h']]],
- ['opendal_5fmetadata_5fcontent_5flength_30',['opendal_metadata_content_length',['../opendal_8h.html#ac8e9a9da0f04cb80848e7e42c3b90235',1,'opendal.h']]],
- ['opendal_5fmetadata_5ffree_31',['opendal_metadata_free',['../opendal_8h.html#a8ff66345b1c45c66920ef0ddfef739c5',1,'opendal.h']]],
- ['opendal_5fmetadata_5fis_5fdir_32',['opendal_metadata_is_dir',['../opendal_8h.html#ac8cb949fb37f83dfcbe78976eaa29409',1,'opendal.h']]],
- ['opendal_5fmetadata_5fis_5ffile_33',['opendal_metadata_is_file',['../opendal_8h.html#a8900dddbbce980c3323cedd4f30c33ad',1,'opendal.h']]],
- ['opendal_5fnot_5fa_5fdirectory_34',['OPENDAL_NOT_A_DIRECTORY',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2ad8f1a6410599cec2a213685324560555',1,'opendal.h']]],
- ['opendal_5fnot_5ffound_35',['OPENDAL_NOT_FOUND',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a549e63735c8104369fd9230b441ebbf1',1,'opendal.h']]],
- ['opendal_5foperator_5fblocking_5fdelete_36',['opendal_operator_blocking_delete',['../opendal_8h.html#a2ceeec46dfb498f1b6c9f1138d820977',1,'opendal.h']]],
- ['opendal_5foperator_5fblocking_5flist_37',['opendal_operator_blocking_list',['../opendal_8h.html#a844f3a690078c34af557ae83e1f1513f',1,'opendal.h']]],
- ['opendal_5foperator_5fblocking_5fread_38',['opendal_operator_blocking_read',['../opendal_8h.html#ae8fc63885af34e53afbb075dfed39732',1,'opendal.h']]],
- ['opendal_5foperator_5fblocking_5fwrite_39',['opendal_operator_blocking_write',['../opendal_8h.html#a39c13941f26a7a1bbb0b52cbb7af61b9',1,'opendal.h']]],
- ['opendal_5foperator_5ffree_40',['opendal_operator_free',['../opendal_8h.html#a3e038035b4339e19f24e1aa8ef678def',1,'opendal.h']]],
- ['opendal_5foperator_5fis_5fexist_41',['opendal_operator_is_exist',['../opendal_8h.html#ae5a3bf403cdf78d5c5b1fa9f623f0d80',1,'opendal.h']]],
- ['opendal_5foperator_5fnew_42',['opendal_operator_new',['../opendal_8h.html#a3b32f655689a122d2b6feff169fac442',1,'opendal.h']]],
- ['opendal_5foperator_5foptions_43',['opendal_operator_options',['../structopendal__operator__options.html',1,'opendal_operator_options'],['../opendal_8h.html#a76d4f0935961d0e49befd7719728fd16',1,'opendal_operator_options(): opendal.h']]],
- ['opendal_5foperator_5foptions_5ffree_44',['opendal_operator_options_free',['../opendal_8h.html#a1d65b173b087b2abca126de2e951b412',1,'opendal.h']]],
- ['opendal_5foperator_5foptions_5fnew_45',['opendal_operator_options_new',['../opendal_8h.html#a67b1457f2b1258551552dc383840f288',1,'opendal.h']]],
- ['opendal_5foperator_5foptions_5fset_46',['opendal_operator_options_set',['../opendal_8h.html#af408af922875eb26c25cef4ddfdede02',1,'opendal.h']]],
- ['opendal_5foperator_5fptr_47',['opendal_operator_ptr',['../structopendal__operator__ptr.html',1,'opendal_operator_ptr'],['../opendal_8h.html#aae5d70fff7f6c87e07b8aa97e08e7191',1,'opendal_operator_ptr(): opendal.h']]],
- ['opendal_5foperator_5fstat_48',['opendal_operator_stat',['../opendal_8h.html#aefa1285911f7cf00837e69ba29d2efd3',1,'opendal.h']]],
- ['opendal_5fpermission_5fdenied_49',['OPENDAL_PERMISSION_DENIED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a7d8ddf01b6fc55e87b7a89e04e5b3681',1,'opendal.h']]],
- ['opendal_5frate_5flimited_50',['OPENDAL_RATE_LIMITED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2ae78f8c2cde8d2a3888e12e3894ae5d71',1,'opendal.h']]],
- ['opendal_5fresult_5fis_5fexist_51',['opendal_result_is_exist',['../structopendal__result__is__exist.html',1,'opendal_result_is_exist'],['../opendal_8h.html#afbd6b36f0b084ca5fa251ebd5e317abf',1,'opendal_result_is_exist(): opendal.h']]],
- ['opendal_5fresult_5flist_52',['opendal_result_list',['../opendal_8h.html#a606c20c489cac143082dc3870102f43a',1,'opendal_result_list(): opendal.h'],['../structopendal__result__list.html',1,'opendal_result_list']]],
- ['opendal_5fresult_5foperator_5fnew_53',['opendal_result_operator_new',['../structopendal__result__operator__new.html',1,'opendal_result_operator_new'],['../opendal_8h.html#a1c2ddf5212cda7243c1138f55b9cdbc5',1,'opendal_result_operator_new(): opendal.h']]],
- ['opendal_5fresult_5fread_54',['opendal_result_read',['../structopendal__result__read.html',1,'opendal_result_read'],['../opendal_8h.html#a68a7b0ae2b453dd9ba31ba0d572a4d5d',1,'opendal_result_read(): opendal.h']]],
- ['opendal_5fresult_5fstat_55',['opendal_result_stat',['../structopendal__result__stat.html',1,'opendal_result_stat'],['../opendal_8h.html#a07f3f83aa0b650a09986291e47a8ddb0',1,'opendal_result_stat(): opendal.h']]],
- ['opendal_5funexpected_56',['OPENDAL_UNEXPECTED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a7b638bc0d885a22a64305563add5c535',1,'opendal.h']]],
- ['opendal_5funsupported_57',['OPENDAL_UNSUPPORTED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a0dba9d7c18383f0eabb4801319becb6b',1,'opendal.h']]],
- ['operator_5fptr_58',['operator_ptr',['../structopendal__result__operator__new.html#a1998b1bb97c81253564e0a9228759891',1,'opendal_result_operator_new']]]
+ ['opendal_20c_20binding_20_28wip_29_12',['OpenDAL C Binding (WIP)',['../index.html',1,'']]],
+ ['opendal_2eh_13',['opendal.h',['../opendal_8h.html',1,'']]],
+ ['opendal_5falready_5fexists_14',['OPENDAL_ALREADY_EXISTS',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a8f0a65852b0b02a0a3c73f7382607d67',1,'opendal.h']]],
+ ['opendal_5fblocking_5flister_15',['opendal_blocking_lister',['../structopendal__blocking__lister.html',1,'opendal_blocking_lister'],['../opendal_8h.html#a0b698963d36cbe398ba4bd4e61195e44',1,'opendal_blocking_lister(): opendal.h']]],
+ ['opendal_5fbytes_16',['opendal_bytes',['../structopendal__bytes.html',1,'opendal_bytes'],['../opendal_8h.html#a4117acdec0983ce12962491960847381',1,'opendal_bytes(): opendal.h']]],
+ ['opendal_5fbytes_5ffree_17',['opendal_bytes_free',['../opendal_8h.html#aea5253c2bbe9438349eebb68a18a82ea',1,'opendal.h']]],
+ ['opendal_5fcode_18',['opendal_code',['../opendal_8h.html#a333cc71b98ca4ce17183c1b4263ddd1f',1,'opendal_code(): opendal.h'],['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2',1,'opendal_code(): opendal.h']]],
+ ['opendal_5fconfig_5finvalid_19',['OPENDAL_CONFIG_INVALID',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2af0fb62173ba6973b328c3342a95f53b5',1,'opendal.h']]],
+ ['opendal_5ferror_20',['opendal_error',['../structopendal__error.html',1,'opendal_error'],['../opendal_8h.html#aba7687efb3e2f74800e93aee4eede6cc',1,'opendal_error(): opendal.h']]],
+ ['opendal_5ferror_5ffree_21',['opendal_error_free',['../opendal_8h.html#a4a8d92df21f5473762677afd9af5f714',1,'opendal.h']]],
+ ['opendal_5fis_5fa_5fdirectory_22',['OPENDAL_IS_A_DIRECTORY',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a74508dd984ae3f13a700a8952ca03361',1,'opendal.h']]],
+ ['opendal_5fis_5fsame_5ffile_23',['OPENDAL_IS_SAME_FILE',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2aa2ade9f6ea9d1ad5a6f328a73217e536',1,'opendal.h']]],
+ ['opendal_5flist_5fentry_24',['opendal_list_entry',['../opendal_8h.html#a3d3583cbe9b8b5281ddbc3c4f78dca33',1,'opendal_list_entry(): opendal.h'],['../structopendal__list__entry.html',1,'opendal_list_entry']]],
+ ['opendal_5flist_5fentry_5ffree_25',['opendal_list_entry_free',['../opendal_8h.html#afa415362bf713d7c7869225a7f50f4a5',1,'opendal.h']]],
+ ['opendal_5flist_5fentry_5fname_26',['opendal_list_entry_name',['../opendal_8h.html#ac9b6091ec4c8aa0333727b34de3fa845',1,'opendal.h']]],
+ ['opendal_5flist_5fentry_5fpath_27',['opendal_list_entry_path',['../opendal_8h.html#a3a9984872f04ae478af91a15e1af0af0',1,'opendal.h']]],
+ ['opendal_5flister_5ffree_28',['opendal_lister_free',['../opendal_8h.html#a25e2bd426163636455d6ba2e82547db7',1,'opendal.h']]],
+ ['opendal_5flister_5fnext_29',['opendal_lister_next',['../opendal_8h.html#a191fdabb43a5173bcb00fbb3f615070c',1,'opendal.h']]],
+ ['opendal_5fmetadata_30',['opendal_metadata',['../structopendal__metadata.html',1,'opendal_metadata'],['../opendal_8h.html#af0acf7956915881ccd1f0874f309c682',1,'opendal_metadata(): opendal.h']]],
+ ['opendal_5fmetadata_5fcontent_5flength_31',['opendal_metadata_content_length',['../opendal_8h.html#ac8e9a9da0f04cb80848e7e42c3b90235',1,'opendal.h']]],
+ ['opendal_5fmetadata_5ffree_32',['opendal_metadata_free',['../opendal_8h.html#a8ff66345b1c45c66920ef0ddfef739c5',1,'opendal.h']]],
+ ['opendal_5fmetadata_5fis_5fdir_33',['opendal_metadata_is_dir',['../opendal_8h.html#ac8cb949fb37f83dfcbe78976eaa29409',1,'opendal.h']]],
+ ['opendal_5fmetadata_5fis_5ffile_34',['opendal_metadata_is_file',['../opendal_8h.html#a8900dddbbce980c3323cedd4f30c33ad',1,'opendal.h']]],
+ ['opendal_5fnot_5fa_5fdirectory_35',['OPENDAL_NOT_A_DIRECTORY',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2ad8f1a6410599cec2a213685324560555',1,'opendal.h']]],
+ ['opendal_5fnot_5ffound_36',['OPENDAL_NOT_FOUND',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a549e63735c8104369fd9230b441ebbf1',1,'opendal.h']]],
+ ['opendal_5foperator_5fblocking_5fdelete_37',['opendal_operator_blocking_delete',['../opendal_8h.html#a2ceeec46dfb498f1b6c9f1138d820977',1,'opendal.h']]],
+ ['opendal_5foperator_5fblocking_5flist_38',['opendal_operator_blocking_list',['../opendal_8h.html#a844f3a690078c34af557ae83e1f1513f',1,'opendal.h']]],
+ ['opendal_5foperator_5fblocking_5fread_39',['opendal_operator_blocking_read',['../opendal_8h.html#ae8fc63885af34e53afbb075dfed39732',1,'opendal.h']]],
+ ['opendal_5foperator_5fblocking_5freader_40',['opendal_operator_blocking_reader',['../opendal_8h.html#a6285d4da17f5f873bc7a8edd7301fb81',1,'opendal.h']]],
+ ['opendal_5foperator_5fblocking_5fwrite_41',['opendal_operator_blocking_write',['../opendal_8h.html#a39c13941f26a7a1bbb0b52cbb7af61b9',1,'opendal.h']]],
+ ['opendal_5foperator_5ffree_42',['opendal_operator_free',['../opendal_8h.html#a3e038035b4339e19f24e1aa8ef678def',1,'opendal.h']]],
+ ['opendal_5foperator_5fis_5fexist_43',['opendal_operator_is_exist',['../opendal_8h.html#ae5a3bf403cdf78d5c5b1fa9f623f0d80',1,'opendal.h']]],
+ ['opendal_5foperator_5fnew_44',['opendal_operator_new',['../opendal_8h.html#a3b32f655689a122d2b6feff169fac442',1,'opendal.h']]],
+ ['opendal_5foperator_5foptions_45',['opendal_operator_options',['../structopendal__operator__options.html',1,'opendal_operator_options'],['../opendal_8h.html#a76d4f0935961d0e49befd7719728fd16',1,'opendal_operator_options(): opendal.h']]],
+ ['opendal_5foperator_5foptions_5ffree_46',['opendal_operator_options_free',['../opendal_8h.html#a1d65b173b087b2abca126de2e951b412',1,'opendal.h']]],
+ ['opendal_5foperator_5foptions_5fnew_47',['opendal_operator_options_new',['../opendal_8h.html#a67b1457f2b1258551552dc383840f288',1,'opendal.h']]],
+ ['opendal_5foperator_5foptions_5fset_48',['opendal_operator_options_set',['../opendal_8h.html#af408af922875eb26c25cef4ddfdede02',1,'opendal.h']]],
+ ['opendal_5foperator_5fptr_49',['opendal_operator_ptr',['../structopendal__operator__ptr.html',1,'opendal_operator_ptr'],['../opendal_8h.html#aae5d70fff7f6c87e07b8aa97e08e7191',1,'opendal_operator_ptr(): opendal.h']]],
+ ['opendal_5foperator_5fstat_50',['opendal_operator_stat',['../opendal_8h.html#aefa1285911f7cf00837e69ba29d2efd3',1,'opendal.h']]],
+ ['opendal_5fpermission_5fdenied_51',['OPENDAL_PERMISSION_DENIED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a7d8ddf01b6fc55e87b7a89e04e5b3681',1,'opendal.h']]],
+ ['opendal_5frate_5flimited_52',['OPENDAL_RATE_LIMITED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2ae78f8c2cde8d2a3888e12e3894ae5d71',1,'opendal.h']]],
+ ['opendal_5freader_53',['opendal_reader',['../structopendal__reader.html',1,'opendal_reader'],['../opendal_8h.html#a1f2a071a20d13757ba9cd5fde09c1100',1,'opendal_reader(): opendal.h']]],
+ ['opendal_5freader_5ffree_54',['opendal_reader_free',['../opendal_8h.html#a7ef708841e8d9a0cebb64a983ef4d472',1,'opendal.h']]],
+ ['opendal_5freader_5fread_55',['opendal_reader_read',['../opendal_8h.html#ae10ef4bd17ee529fbfa8ab6ed9d0e3a4',1,'opendal.h']]],
+ ['opendal_5fresult_5fis_5fexist_56',['opendal_result_is_exist',['../opendal_8h.html#afbd6b36f0b084ca5fa251ebd5e317abf',1,'opendal_result_is_exist(): opendal.h'],['../structopendal__result__is__exist.html',1,'opendal_result_is_exist']]],
+ ['opendal_5fresult_5flist_57',['opendal_result_list',['../structopendal__result__list.html',1,'opendal_result_list'],['../opendal_8h.html#a606c20c489cac143082dc3870102f43a',1,'opendal_result_list(): opendal.h']]],
+ ['opendal_5fresult_5foperator_5fnew_58',['opendal_result_operator_new',['../structopendal__result__operator__new.html',1,'opendal_result_operator_new'],['../opendal_8h.html#a1c2ddf5212cda7243c1138f55b9cdbc5',1,'opendal_result_operator_new(): opendal.h']]],
+ ['opendal_5fresult_5fread_59',['opendal_result_read',['../structopendal__result__read.html',1,'opendal_result_read'],['../opendal_8h.html#a68a7b0ae2b453dd9ba31ba0d572a4d5d',1,'opendal_result_read(): opendal.h']]],
+ ['opendal_5fresult_5freader_60',['opendal_result_reader',['../structopendal__result__reader.html',1,'opendal_result_reader'],['../opendal_8h.html#a7712a472329fe04955dd86a213c78b37',1,'opendal_result_reader(): opendal.h']]],
+ ['opendal_5fresult_5freader_5fread_61',['opendal_result_reader_read',['../structopendal__result__reader__read.html',1,'opendal_result_reader_read'],['../opendal_8h.html#a1fc707d831b5e91edd1a34c0f08805ff',1,'opendal_result_reader_read(): opendal.h']]],
+ ['opendal_5fresult_5fstat_62',['opendal_result_stat',['../structopendal__result__stat.html',1,'opendal_result_stat'],['../opendal_8h.html#a07f3f83aa0b650a09986291e47a8ddb0',1,'opendal_result_stat(): opendal.h']]],
+ ['opendal_5funexpected_63',['OPENDAL_UNEXPECTED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a7b638bc0d885a22a64305563add5c535',1,'opendal.h']]],
+ ['opendal_5funsupported_64',['OPENDAL_UNSUPPORTED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a0dba9d7c18383f0eabb4801319becb6b',1,'opendal.h']]],
+ ['operator_5fptr_65',['operator_ptr',['../structopendal__result__operator__new.html#a1998b1bb97c81253564e0a9228759891',1,'opendal_result_operator_new']]]
];
diff --git a/docs/c/search/all_8.js b/docs/c/search/all_8.js
index 5688fc4a4..135840b27 100644
--- a/docs/c/search/all_8.js
+++ b/docs/c/search/all_8.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['ptr_59',['ptr',['../structopendal__operator__ptr.html#a17b619ae01bb6471f51f8501ab18dd9b',1,'opendal_operator_ptr']]]
+ ['ptr_66',['ptr',['../structopendal__operator__ptr.html#a17b619ae01bb6471f51f8501ab18dd9b',1,'opendal_operator_ptr']]]
];
diff --git a/docs/c/search/all_9.js b/docs/c/search/all_9.js
index dd17047ce..1845a365d 100644
--- a/docs/c/search/all_9.js
+++ b/docs/c/search/all_9.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['readme_2emd_60',['README.md',['../README_8md.html',1,'']]]
+ ['reader_67',['reader',['../structopendal__result__reader.html#ab2f72d683d38843ca9b429fc9a80272d',1,'opendal_result_reader']]],
+ ['readme_2emd_68',['README.md',['../README_8md.html',1,'']]]
];
diff --git a/docs/c/search/all_a.js b/docs/c/search/all_a.js
index e82367d60..91c9fdf5b 100644
--- a/docs/c/search/all_a.js
+++ b/docs/c/search/all_a.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['todo_20list_61',['Todo List',['../todo.html',1,'']]]
+ ['size_69',['size',['../structopendal__result__reader__read.html#a5a513cafeacebef13f74fd50c30e9810',1,'opendal_result_reader_read']]]
];
diff --git a/docs/c/search/all_b.html b/docs/c/search/all_b.html
new file mode 100644
index 000000000..130deb4ed
--- /dev/null
+++ b/docs/c/search/all_b.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/c/search/all_b.js b/docs/c/search/all_b.js
new file mode 100644
index 000000000..08b84cdcc
--- /dev/null
+++ b/docs/c/search/all_b.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['todo_20list_70',['Todo List',['../todo.html',1,'']]]
+];
diff --git a/docs/c/search/classes_0.js b/docs/c/search/classes_0.js
index 1b130ba67..c617368b9 100644
--- a/docs/c/search/classes_0.js
+++ b/docs/c/search/classes_0.js
@@ -1,15 +1,18 @@
var searchData=
[
- ['opendal_5fblocking_5flister_62',['opendal_blocking_lister',['../structopendal__blocking__lister.html',1,'']]],
- ['opendal_5fbytes_63',['opendal_bytes',['../structopendal__bytes.html',1,'']]],
- ['opendal_5ferror_64',['opendal_error',['../structopendal__error.html',1,'']]],
- ['opendal_5flist_5fentry_65',['opendal_list_entry',['../structopendal__list__entry.html',1,'']]],
- ['opendal_5fmetadata_66',['opendal_metadata',['../structopendal__metadata.html',1,'']]],
- ['opendal_5foperator_5foptions_67',['opendal_operator_options',['../structopendal__operator__options.html',1,'']]],
- ['opendal_5foperator_5fptr_68',['opendal_operator_ptr',['../structopendal__operator__ptr.html',1,'']]],
- ['opendal_5fresult_5fis_5fexist_69',['opendal_result_is_exist',['../structopendal__result__is__exist.html',1,'']]],
- ['opendal_5fresult_5flist_70',['opendal_result_list',['../structopendal__result__list.html',1,'']]],
- ['opendal_5fresult_5foperator_5fnew_71',['opendal_result_operator_new',['../structopendal__result__operator__new.html',1,'']]],
- ['opendal_5fresult_5fread_72',['opendal_result_read',['../structopendal__result__read.html',1,'']]],
- ['opendal_5fresult_5fstat_73',['opendal_result_stat',['../structopendal__result__stat.html',1,'']]]
+ ['opendal_5fblocking_5flister_71',['opendal_blocking_lister',['../structopendal__blocking__lister.html',1,'']]],
+ ['opendal_5fbytes_72',['opendal_bytes',['../structopendal__bytes.html',1,'']]],
+ ['opendal_5ferror_73',['opendal_error',['../structopendal__error.html',1,'']]],
+ ['opendal_5flist_5fentry_74',['opendal_list_entry',['../structopendal__list__entry.html',1,'']]],
+ ['opendal_5fmetadata_75',['opendal_metadata',['../structopendal__metadata.html',1,'']]],
+ ['opendal_5foperator_5foptions_76',['opendal_operator_options',['../structopendal__operator__options.html',1,'']]],
+ ['opendal_5foperator_5fptr_77',['opendal_operator_ptr',['../structopendal__operator__ptr.html',1,'']]],
+ ['opendal_5freader_78',['opendal_reader',['../structopendal__reader.html',1,'']]],
+ ['opendal_5fresult_5fis_5fexist_79',['opendal_result_is_exist',['../structopendal__result__is__exist.html',1,'']]],
+ ['opendal_5fresult_5flist_80',['opendal_result_list',['../structopendal__result__list.html',1,'']]],
+ ['opendal_5fresult_5foperator_5fnew_81',['opendal_result_operator_new',['../structopendal__result__operator__new.html',1,'']]],
+ ['opendal_5fresult_5fread_82',['opendal_result_read',['../structopendal__result__read.html',1,'']]],
+ ['opendal_5fresult_5freader_83',['opendal_result_reader',['../structopendal__result__reader.html',1,'']]],
+ ['opendal_5fresult_5freader_5fread_84',['opendal_result_reader_read',['../structopendal__result__reader__read.html',1,'']]],
+ ['opendal_5fresult_5fstat_85',['opendal_result_stat',['../structopendal__result__stat.html',1,'']]]
];
diff --git a/docs/c/search/enums_0.js b/docs/c/search/enums_0.js
index b4e0e09e2..f6e634a35 100644
--- a/docs/c/search/enums_0.js
+++ b/docs/c/search/enums_0.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['opendal_5fcode_124',['opendal_code',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2',1,'opendal.h']]]
+ ['opendal_5fcode_145',['opendal_code',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2',1,'opendal.h']]]
];
diff --git a/docs/c/search/enumvalues_0.js b/docs/c/search/enumvalues_0.js
index 970692e5b..e6e6c6352 100644
--- a/docs/c/search/enumvalues_0.js
+++ b/docs/c/search/enumvalues_0.js
@@ -1,13 +1,13 @@
var searchData=
[
- ['opendal_5falready_5fexists_125',['OPENDAL_ALREADY_EXISTS',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a8f0a65852b0b02a0a3c73f7382607d67',1,'opendal.h']]],
- ['opendal_5fconfig_5finvalid_126',['OPENDAL_CONFIG_INVALID',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2af0fb62173ba6973b328c3342a95f53b5',1,'opendal.h']]],
- ['opendal_5fis_5fa_5fdirectory_127',['OPENDAL_IS_A_DIRECTORY',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a74508dd984ae3f13a700a8952ca03361',1,'opendal.h']]],
- ['opendal_5fis_5fsame_5ffile_128',['OPENDAL_IS_SAME_FILE',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2aa2ade9f6ea9d1ad5a6f328a73217e536',1,'opendal.h']]],
- ['opendal_5fnot_5fa_5fdirectory_129',['OPENDAL_NOT_A_DIRECTORY',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2ad8f1a6410599cec2a213685324560555',1,'opendal.h']]],
- ['opendal_5fnot_5ffound_130',['OPENDAL_NOT_FOUND',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a549e63735c8104369fd9230b441ebbf1',1,'opendal.h']]],
- ['opendal_5fpermission_5fdenied_131',['OPENDAL_PERMISSION_DENIED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a7d8ddf01b6fc55e87b7a89e04e5b3681',1,'opendal.h']]],
- ['opendal_5frate_5flimited_132',['OPENDAL_RATE_LIMITED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2ae78f8c2cde8d2a3888e12e3894ae5d71',1,'opendal.h']]],
- ['opendal_5funexpected_133',['OPENDAL_UNEXPECTED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a7b638bc0d885a22a64305563add5c535',1,'opendal.h']]],
- ['opendal_5funsupported_134',['OPENDAL_UNSUPPORTED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a0dba9d7c18383f0eabb4801319becb6b',1,'opendal.h']]]
+ ['opendal_5falready_5fexists_146',['OPENDAL_ALREADY_EXISTS',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a8f0a65852b0b02a0a3c73f7382607d67',1,'opendal.h']]],
+ ['opendal_5fconfig_5finvalid_147',['OPENDAL_CONFIG_INVALID',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2af0fb62173ba6973b328c3342a95f53b5',1,'opendal.h']]],
+ ['opendal_5fis_5fa_5fdirectory_148',['OPENDAL_IS_A_DIRECTORY',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a74508dd984ae3f13a700a8952ca03361',1,'opendal.h']]],
+ ['opendal_5fis_5fsame_5ffile_149',['OPENDAL_IS_SAME_FILE',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2aa2ade9f6ea9d1ad5a6f328a73217e536',1,'opendal.h']]],
+ ['opendal_5fnot_5fa_5fdirectory_150',['OPENDAL_NOT_A_DIRECTORY',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2ad8f1a6410599cec2a213685324560555',1,'opendal.h']]],
+ ['opendal_5fnot_5ffound_151',['OPENDAL_NOT_FOUND',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a549e63735c8104369fd9230b441ebbf1',1,'opendal.h']]],
+ ['opendal_5fpermission_5fdenied_152',['OPENDAL_PERMISSION_DENIED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a7d8ddf01b6fc55e87b7a89e04e5b3681',1,'opendal.h']]],
+ ['opendal_5frate_5flimited_153',['OPENDAL_RATE_LIMITED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2ae78f8c2cde8d2a3888e12e3894ae5d71',1,'opendal.h']]],
+ ['opendal_5funexpected_154',['OPENDAL_UNEXPECTED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a7b638bc0d885a22a64305563add5c535',1,'opendal.h']]],
+ ['opendal_5funsupported_155',['OPENDAL_UNSUPPORTED',['../opendal_8h.html#a6715be152766e5b8f840ce10cf9442c2a0dba9d7c18383f0eabb4801319becb6b',1,'opendal.h']]]
];
diff --git a/docs/c/search/files_0.js b/docs/c/search/files_0.js
index 31ae20e77..178f2a9c2 100644
--- a/docs/c/search/files_0.js
+++ b/docs/c/search/files_0.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['opendal_2eh_74',['opendal.h',['../opendal_8h.html',1,'']]]
+ ['opendal_2eh_86',['opendal.h',['../opendal_8h.html',1,'']]]
];
diff --git a/docs/c/search/files_1.js b/docs/c/search/files_1.js
index 2bebc90b9..e0810633e 100644
--- a/docs/c/search/files_1.js
+++ b/docs/c/search/files_1.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['readme_2emd_75',['README.md',['../README_8md.html',1,'']]]
+ ['readme_2emd_87',['README.md',['../README_8md.html',1,'']]]
];
diff --git a/docs/c/search/functions_0.js b/docs/c/search/functions_0.js
index b870880ee..e8b4b2eb8 100644
--- a/docs/c/search/functions_0.js
+++ b/docs/c/search/functions_0.js
@@ -1,25 +1,28 @@
var searchData=
[
- ['opendal_5fbytes_5ffree_76',['opendal_bytes_free',['../opendal_8h.html#aea5253c2bbe9438349eebb68a18a82ea',1,'opendal.h']]],
- ['opendal_5ferror_5ffree_77',['opendal_error_free',['../opendal_8h.html#a4a8d92df21f5473762677afd9af5f714',1,'opendal.h']]],
- ['opendal_5flist_5fentry_5ffree_78',['opendal_list_entry_free',['../opendal_8h.html#afa415362bf713d7c7869225a7f50f4a5',1,'opendal.h']]],
- ['opendal_5flist_5fentry_5fname_79',['opendal_list_entry_name',['../opendal_8h.html#ac9b6091ec4c8aa0333727b34de3fa845',1,'opendal.h']]],
- ['opendal_5flist_5fentry_5fpath_80',['opendal_list_entry_path',['../opendal_8h.html#a3a9984872f04ae478af91a15e1af0af0',1,'opendal.h']]],
- ['opendal_5flister_5ffree_81',['opendal_lister_free',['../opendal_8h.html#a25e2bd426163636455d6ba2e82547db7',1,'opendal.h']]],
- ['opendal_5flister_5fnext_82',['opendal_lister_next',['../opendal_8h.html#a191fdabb43a5173bcb00fbb3f615070c',1,'opendal.h']]],
- ['opendal_5fmetadata_5fcontent_5flength_83',['opendal_metadata_content_length',['../opendal_8h.html#ac8e9a9da0f04cb80848e7e42c3b90235',1,'opendal.h']]],
- ['opendal_5fmetadata_5ffree_84',['opendal_metadata_free',['../opendal_8h.html#a8ff66345b1c45c66920ef0ddfef739c5',1,'opendal.h']]],
- ['opendal_5fmetadata_5fis_5fdir_85',['opendal_metadata_is_dir',['../opendal_8h.html#ac8cb949fb37f83dfcbe78976eaa29409',1,'opendal.h']]],
- ['opendal_5fmetadata_5fis_5ffile_86',['opendal_metadata_is_file',['../opendal_8h.html#a8900dddbbce980c3323cedd4f30c33ad',1,'opendal.h']]],
- ['opendal_5foperator_5fblocking_5fdelete_87',['opendal_operator_blocking_delete',['../opendal_8h.html#a2ceeec46dfb498f1b6c9f1138d820977',1,'opendal.h']]],
- ['opendal_5foperator_5fblocking_5flist_88',['opendal_operator_blocking_list',['../opendal_8h.html#a844f3a690078c34af557ae83e1f1513f',1,'opendal.h']]],
- ['opendal_5foperator_5fblocking_5fread_89',['opendal_operator_blocking_read',['../opendal_8h.html#ae8fc63885af34e53afbb075dfed39732',1,'opendal.h']]],
- ['opendal_5foperator_5fblocking_5fwrite_90',['opendal_operator_blocking_write',['../opendal_8h.html#a39c13941f26a7a1bbb0b52cbb7af61b9',1,'opendal.h']]],
- ['opendal_5foperator_5ffree_91',['opendal_operator_free',['../opendal_8h.html#a3e038035b4339e19f24e1aa8ef678def',1,'opendal.h']]],
- ['opendal_5foperator_5fis_5fexist_92',['opendal_operator_is_exist',['../opendal_8h.html#ae5a3bf403cdf78d5c5b1fa9f623f0d80',1,'opendal.h']]],
- ['opendal_5foperator_5fnew_93',['opendal_operator_new',['../opendal_8h.html#a3b32f655689a122d2b6feff169fac442',1,'opendal.h']]],
- ['opendal_5foperator_5foptions_5ffree_94',['opendal_operator_options_free',['../opendal_8h.html#a1d65b173b087b2abca126de2e951b412',1,'opendal.h']]],
- ['opendal_5foperator_5foptions_5fnew_95',['opendal_operator_options_new',['../opendal_8h.html#a67b1457f2b1258551552dc383840f288',1,'opendal.h']]],
- ['opendal_5foperator_5foptions_5fset_96',['opendal_operator_options_set',['../opendal_8h.html#af408af922875eb26c25cef4ddfdede02',1,'opendal.h']]],
- ['opendal_5foperator_5fstat_97',['opendal_operator_stat',['../opendal_8h.html#aefa1285911f7cf00837e69ba29d2efd3',1,'opendal.h']]]
+ ['opendal_5fbytes_5ffree_88',['opendal_bytes_free',['../opendal_8h.html#aea5253c2bbe9438349eebb68a18a82ea',1,'opendal.h']]],
+ ['opendal_5ferror_5ffree_89',['opendal_error_free',['../opendal_8h.html#a4a8d92df21f5473762677afd9af5f714',1,'opendal.h']]],
+ ['opendal_5flist_5fentry_5ffree_90',['opendal_list_entry_free',['../opendal_8h.html#afa415362bf713d7c7869225a7f50f4a5',1,'opendal.h']]],
+ ['opendal_5flist_5fentry_5fname_91',['opendal_list_entry_name',['../opendal_8h.html#ac9b6091ec4c8aa0333727b34de3fa845',1,'opendal.h']]],
+ ['opendal_5flist_5fentry_5fpath_92',['opendal_list_entry_path',['../opendal_8h.html#a3a9984872f04ae478af91a15e1af0af0',1,'opendal.h']]],
+ ['opendal_5flister_5ffree_93',['opendal_lister_free',['../opendal_8h.html#a25e2bd426163636455d6ba2e82547db7',1,'opendal.h']]],
+ ['opendal_5flister_5fnext_94',['opendal_lister_next',['../opendal_8h.html#a191fdabb43a5173bcb00fbb3f615070c',1,'opendal.h']]],
+ ['opendal_5fmetadata_5fcontent_5flength_95',['opendal_metadata_content_length',['../opendal_8h.html#ac8e9a9da0f04cb80848e7e42c3b90235',1,'opendal.h']]],
+ ['opendal_5fmetadata_5ffree_96',['opendal_metadata_free',['../opendal_8h.html#a8ff66345b1c45c66920ef0ddfef739c5',1,'opendal.h']]],
+ ['opendal_5fmetadata_5fis_5fdir_97',['opendal_metadata_is_dir',['../opendal_8h.html#ac8cb949fb37f83dfcbe78976eaa29409',1,'opendal.h']]],
+ ['opendal_5fmetadata_5fis_5ffile_98',['opendal_metadata_is_file',['../opendal_8h.html#a8900dddbbce980c3323cedd4f30c33ad',1,'opendal.h']]],
+ ['opendal_5foperator_5fblocking_5fdelete_99',['opendal_operator_blocking_delete',['../opendal_8h.html#a2ceeec46dfb498f1b6c9f1138d820977',1,'opendal.h']]],
+ ['opendal_5foperator_5fblocking_5flist_100',['opendal_operator_blocking_list',['../opendal_8h.html#a844f3a690078c34af557ae83e1f1513f',1,'opendal.h']]],
+ ['opendal_5foperator_5fblocking_5fread_101',['opendal_operator_blocking_read',['../opendal_8h.html#ae8fc63885af34e53afbb075dfed39732',1,'opendal.h']]],
+ ['opendal_5foperator_5fblocking_5freader_102',['opendal_operator_blocking_reader',['../opendal_8h.html#a6285d4da17f5f873bc7a8edd7301fb81',1,'opendal.h']]],
+ ['opendal_5foperator_5fblocking_5fwrite_103',['opendal_operator_blocking_write',['../opendal_8h.html#a39c13941f26a7a1bbb0b52cbb7af61b9',1,'opendal.h']]],
+ ['opendal_5foperator_5ffree_104',['opendal_operator_free',['../opendal_8h.html#a3e038035b4339e19f24e1aa8ef678def',1,'opendal.h']]],
+ ['opendal_5foperator_5fis_5fexist_105',['opendal_operator_is_exist',['../opendal_8h.html#ae5a3bf403cdf78d5c5b1fa9f623f0d80',1,'opendal.h']]],
+ ['opendal_5foperator_5fnew_106',['opendal_operator_new',['../opendal_8h.html#a3b32f655689a122d2b6feff169fac442',1,'opendal.h']]],
+ ['opendal_5foperator_5foptions_5ffree_107',['opendal_operator_options_free',['../opendal_8h.html#a1d65b173b087b2abca126de2e951b412',1,'opendal.h']]],
+ ['opendal_5foperator_5foptions_5fnew_108',['opendal_operator_options_new',['../opendal_8h.html#a67b1457f2b1258551552dc383840f288',1,'opendal.h']]],
+ ['opendal_5foperator_5foptions_5fset_109',['opendal_operator_options_set',['../opendal_8h.html#af408af922875eb26c25cef4ddfdede02',1,'opendal.h']]],
+ ['opendal_5foperator_5fstat_110',['opendal_operator_stat',['../opendal_8h.html#aefa1285911f7cf00837e69ba29d2efd3',1,'opendal.h']]],
+ ['opendal_5freader_5ffree_111',['opendal_reader_free',['../opendal_8h.html#a7ef708841e8d9a0cebb64a983ef4d472',1,'opendal.h']]],
+ ['opendal_5freader_5fread_112',['opendal_reader_read',['../opendal_8h.html#ae10ef4bd17ee529fbfa8ab6ed9d0e3a4',1,'opendal.h']]]
];
diff --git a/docs/c/search/pages_0.js b/docs/c/search/pages_0.js
index 0fb645fd3..2b43e5d8c 100644
--- a/docs/c/search/pages_0.js
+++ b/docs/c/search/pages_0.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['opendal_20c_20binding_20_28wip_29_135',['OpenDAL C Binding (WIP)',['../index.html',1,'']]]
+ ['opendal_20c_20binding_20_28wip_29_156',['OpenDAL C Binding (WIP)',['../index.html',1,'']]]
];
diff --git a/docs/c/search/pages_1.js b/docs/c/search/pages_1.js
index 330b63a75..e9ea0eb18 100644
--- a/docs/c/search/pages_1.js
+++ b/docs/c/search/pages_1.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['todo_20list_136',['Todo List',['../todo.html',1,'']]]
+ ['todo_20list_157',['Todo List',['../todo.html',1,'']]]
];
diff --git a/docs/c/search/searchdata.js b/docs/c/search/searchdata.js
index 918ddbbea..0701b37f8 100644
--- a/docs/c/search/searchdata.js
+++ b/docs/c/search/searchdata.js
@@ -1,10 +1,10 @@
var indexSectionsWithContent =
{
- 0: "bcdeilmoprt",
+ 0: "bcdeilmoprst",
1: "o",
2: "or",
3: "o",
- 4: "cdeilmop",
+ 4: "cdeilmoprs",
5: "beo",
6: "o",
7: "o",
diff --git a/docs/c/search/typedefs_0.js b/docs/c/search/typedefs_0.js
index 132e906c7..67d4ac5d2 100644
--- a/docs/c/search/typedefs_0.js
+++ b/docs/c/search/typedefs_0.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['blockinglister_109',['BlockingLister',['../opendal_8h.html#a03ea17a7d09e319825d05a1d9f5d933c',1,'opendal.h']]]
+ ['blockinglister_126',['BlockingLister',['../opendal_8h.html#a03ea17a7d09e319825d05a1d9f5d933c',1,'opendal.h']]],
+ ['blockingreader_127',['BlockingReader',['../opendal_8h.html#a8c11fb124aac4911b663122dbfa7d1fa',1,'opendal.h']]]
];
diff --git a/docs/c/search/typedefs_1.js b/docs/c/search/typedefs_1.js
index 214c9058b..9113e12af 100644
--- a/docs/c/search/typedefs_1.js
+++ b/docs/c/search/typedefs_1.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['entry_110',['Entry',['../opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8',1,'opendal.h']]]
+ ['entry_128',['Entry',['../opendal_8h.html#a65b0d0252adaf76f9ce2004299344de8',1,'opendal.h']]]
];
diff --git a/docs/c/search/typedefs_2.js b/docs/c/search/typedefs_2.js
index 8cf929c6c..221c60d0b 100644
--- a/docs/c/search/typedefs_2.js
+++ b/docs/c/search/typedefs_2.js
@@ -1,16 +1,19 @@
var searchData=
[
- ['opendal_5fblocking_5flister_111',['opendal_blocking_lister',['../opendal_8h.html#a0b698963d36cbe398ba4bd4e61195e44',1,'opendal.h']]],
- ['opendal_5fbytes_112',['opendal_bytes',['../opendal_8h.html#a4117acdec0983ce12962491960847381',1,'opendal.h']]],
- ['opendal_5fcode_113',['opendal_code',['../opendal_8h.html#a333cc71b98ca4ce17183c1b4263ddd1f',1,'opendal.h']]],
- ['opendal_5ferror_114',['opendal_error',['../opendal_8h.html#aba7687efb3e2f74800e93aee4eede6cc',1,'opendal.h']]],
- ['opendal_5flist_5fentry_115',['opendal_list_entry',['../opendal_8h.html#a3d3583cbe9b8b5281ddbc3c4f78dca33',1,'opendal.h']]],
- ['opendal_5fmetadata_116',['opendal_metadata',['../opendal_8h.html#af0acf7956915881ccd1f0874f309c682',1,'opendal.h']]],
- ['opendal_5foperator_5foptions_117',['opendal_operator_options',['../opendal_8h.html#a76d4f0935961d0e49befd7719728fd16',1,'opendal.h']]],
- ['opendal_5foperator_5fptr_118',['opendal_operator_ptr',['../opendal_8h.html#aae5d70fff7f6c87e07b8aa97e08e7191',1,'opendal.h']]],
- ['opendal_5fresult_5fis_5fexist_119',['opendal_result_is_exist',['../opendal_8h.html#afbd6b36f0b084ca5fa251ebd5e317abf',1,'opendal.h']]],
- ['opendal_5fresult_5flist_120',['opendal_result_list',['../opendal_8h.html#a606c20c489cac143082dc3870102f43a',1,'opendal.h']]],
- ['opendal_5fresult_5foperator_5fnew_121',['opendal_result_operator_new',['../opendal_8h.html#a1c2ddf5212cda7243c1138f55b9cdbc5',1,'opendal.h']]],
- ['opendal_5fresult_5fread_122',['opendal_result_read',['../opendal_8h.html#a68a7b0ae2b453dd9ba31ba0d572a4d5d',1,'opendal.h']]],
- ['opendal_5fresult_5fstat_123',['opendal_result_stat',['../opendal_8h.html#a07f3f83aa0b650a09986291e47a8ddb0',1,'opendal.h']]]
+ ['opendal_5fblocking_5flister_129',['opendal_blocking_lister',['../opendal_8h.html#a0b698963d36cbe398ba4bd4e61195e44',1,'opendal.h']]],
+ ['opendal_5fbytes_130',['opendal_bytes',['../opendal_8h.html#a4117acdec0983ce12962491960847381',1,'opendal.h']]],
+ ['opendal_5fcode_131',['opendal_code',['../opendal_8h.html#a333cc71b98ca4ce17183c1b4263ddd1f',1,'opendal.h']]],
+ ['opendal_5ferror_132',['opendal_error',['../opendal_8h.html#aba7687efb3e2f74800e93aee4eede6cc',1,'opendal.h']]],
+ ['opendal_5flist_5fentry_133',['opendal_list_entry',['../opendal_8h.html#a3d3583cbe9b8b5281ddbc3c4f78dca33',1,'opendal.h']]],
+ ['opendal_5fmetadata_134',['opendal_metadata',['../opendal_8h.html#af0acf7956915881ccd1f0874f309c682',1,'opendal.h']]],
+ ['opendal_5foperator_5foptions_135',['opendal_operator_options',['../opendal_8h.html#a76d4f0935961d0e49befd7719728fd16',1,'opendal.h']]],
+ ['opendal_5foperator_5fptr_136',['opendal_operator_ptr',['../opendal_8h.html#aae5d70fff7f6c87e07b8aa97e08e7191',1,'opendal.h']]],
+ ['opendal_5freader_137',['opendal_reader',['../opendal_8h.html#a1f2a071a20d13757ba9cd5fde09c1100',1,'opendal.h']]],
+ ['opendal_5fresult_5fis_5fexist_138',['opendal_result_is_exist',['../opendal_8h.html#afbd6b36f0b084ca5fa251ebd5e317abf',1,'opendal.h']]],
+ ['opendal_5fresult_5flist_139',['opendal_result_list',['../opendal_8h.html#a606c20c489cac143082dc3870102f43a',1,'opendal.h']]],
+ ['opendal_5fresult_5foperator_5fnew_140',['opendal_result_operator_new',['../opendal_8h.html#a1c2ddf5212cda7243c1138f55b9cdbc5',1,'opendal.h']]],
+ ['opendal_5fresult_5fread_141',['opendal_result_read',['../opendal_8h.html#a68a7b0ae2b453dd9ba31ba0d572a4d5d',1,'opendal.h']]],
+ ['opendal_5fresult_5freader_142',['opendal_result_reader',['../opendal_8h.html#a7712a472329fe04955dd86a213c78b37',1,'opendal.h']]],
+ ['opendal_5fresult_5freader_5fread_143',['opendal_result_reader_read',['../opendal_8h.html#a1fc707d831b5e91edd1a34c0f08805ff',1,'opendal.h']]],
+ ['opendal_5fresult_5fstat_144',['opendal_result_stat',['../opendal_8h.html#a07f3f83aa0b650a09986291e47a8ddb0',1,'opendal.h']]]
];
diff --git a/docs/c/search/variables_0.js b/docs/c/search/variables_0.js
index bbf41a0ea..2dafc4df9 100644
--- a/docs/c/search/variables_0.js
+++ b/docs/c/search/variables_0.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['code_98',['code',['../structopendal__error.html#ac5ac4b16d49b767afdb29cf9b8115e53',1,'opendal_error']]]
+ ['code_113',['code',['../structopendal__error.html#ac5ac4b16d49b767afdb29cf9b8115e53',1,'opendal_error']]]
];
diff --git a/docs/c/search/variables_1.js b/docs/c/search/variables_1.js
index de5579bcb..baa2cb792 100644
--- a/docs/c/search/variables_1.js
+++ b/docs/c/search/variables_1.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['data_99',['data',['../structopendal__bytes.html#af7a7f99a262f8a3912f4d1cddb798c86',1,'opendal_bytes::data()'],['../structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f',1,'opendal_result_read::data()']]]
+ ['data_114',['data',['../structopendal__bytes.html#af7a7f99a262f8a3912f4d1cddb798c86',1,'opendal_bytes::data()'],['../structopendal__result__read.html#ad8ca467bcbe6d1768e15fcf64fe78e9f',1,'opendal_result_read::data()']]]
];
diff --git a/docs/c/search/variables_2.js b/docs/c/search/variables_2.js
index 4c9c415cf..3dcb4acd9 100644
--- a/docs/c/search/variables_2.js
+++ b/docs/c/search/variables_2.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['error_100',['error',['../structopendal__result__operator__new.html#a5ee50d6c74038806e57d12d1880ac520',1,'opendal_result_operator_new::error()'],['../structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2',1,'opendal_result_read::error()'],['../structopendal__result__is__exist.html#a6dc61502ab68ba25bcd56b09a215de6c',1,'opendal_result_is_exist::error()'],['../structopendal__result__stat.html#a657eee3bfdf805036f169d94ee70dce9',1,'opendal_result_stat::error()'],['../structope [...]
+ ['error_115',['error',['../structopendal__result__operator__new.html#a5ee50d6c74038806e57d12d1880ac520',1,'opendal_result_operator_new::error()'],['../structopendal__result__read.html#a6cd0e4e83ed4509856de0d1e6b83e2f2',1,'opendal_result_read::error()'],['../structopendal__result__reader.html#a1c075185ae159ac377b3e971c359efc2',1,'opendal_result_reader::error()'],['../structopendal__result__is__exist.html#a6dc61502ab68ba25bcd56b09a215de6c',1,'opendal_result_is_exist::error()'],['../struc [...]
];
diff --git a/docs/c/search/variables_3.js b/docs/c/search/variables_3.js
index 7ffc51d30..40eb1f312 100644
--- a/docs/c/search/variables_3.js
+++ b/docs/c/search/variables_3.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['inner_101',['inner',['../structopendal__operator__options.html#a0b4a1a2cd9074140b04836b822a04645',1,'opendal_operator_options::inner()'],['../structopendal__metadata.html#afadf4e2bbfa3ee699d3c3d9c0a96a404',1,'opendal_metadata::inner()'],['../structopendal__blocking__lister.html#abe85b5f87a529f81fb7542cdef536a7f',1,'opendal_blocking_lister::inner()'],['../structopendal__list__entry.html#a23ad6b3ca61aa600ef6f3769f2479892',1,'opendal_list_entry::inner()']]],
- ['is_5fexist_102',['is_exist',['../structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295',1,'opendal_result_is_exist']]]
+ ['inner_116',['inner',['../structopendal__operator__options.html#a0b4a1a2cd9074140b04836b822a04645',1,'opendal_operator_options::inner()'],['../structopendal__reader.html#a25070270d288274fc2fcb1e38d389718',1,'opendal_reader::inner()'],['../structopendal__metadata.html#afadf4e2bbfa3ee699d3c3d9c0a96a404',1,'opendal_metadata::inner()'],['../structopendal__blocking__lister.html#abe85b5f87a529f81fb7542cdef536a7f',1,'opendal_blocking_lister::inner()'],['../structopendal__list__entry.html#a23 [...]
+ ['is_5fexist_117',['is_exist',['../structopendal__result__is__exist.html#abe145d68333ea78b438ef92a12d9d295',1,'opendal_result_is_exist']]]
];
diff --git a/docs/c/search/variables_4.js b/docs/c/search/variables_4.js
index 71a3b1cbc..b8a879d8a 100644
--- a/docs/c/search/variables_4.js
+++ b/docs/c/search/variables_4.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['len_103',['len',['../structopendal__bytes.html#a16abed2ad211c076650d1ea81772b851',1,'opendal_bytes']]],
- ['lister_104',['lister',['../structopendal__result__list.html#a1388cb447f532ecd19ff9a13e09daced',1,'opendal_result_list']]]
+ ['len_118',['len',['../structopendal__bytes.html#a16abed2ad211c076650d1ea81772b851',1,'opendal_bytes']]],
+ ['lister_119',['lister',['../structopendal__result__list.html#a1388cb447f532ecd19ff9a13e09daced',1,'opendal_result_list']]]
];
diff --git a/docs/c/search/variables_5.js b/docs/c/search/variables_5.js
index d526fc3f6..225fdb2b8 100644
--- a/docs/c/search/variables_5.js
+++ b/docs/c/search/variables_5.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['message_105',['message',['../structopendal__error.html#a64095efcf3588a1871b14eab3041d0d4',1,'opendal_error']]],
- ['meta_106',['meta',['../structopendal__result__stat.html#a1d4d484d7bf50bc8e5d65dea5f6f2425',1,'opendal_result_stat']]]
+ ['message_120',['message',['../structopendal__error.html#a64095efcf3588a1871b14eab3041d0d4',1,'opendal_error']]],
+ ['meta_121',['meta',['../structopendal__result__stat.html#a1d4d484d7bf50bc8e5d65dea5f6f2425',1,'opendal_result_stat']]]
];
diff --git a/docs/c/search/variables_6.js b/docs/c/search/variables_6.js
index aed8852da..5a1a01655 100644
--- a/docs/c/search/variables_6.js
+++ b/docs/c/search/variables_6.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['operator_5fptr_107',['operator_ptr',['../structopendal__result__operator__new.html#a1998b1bb97c81253564e0a9228759891',1,'opendal_result_operator_new']]]
+ ['operator_5fptr_122',['operator_ptr',['../structopendal__result__operator__new.html#a1998b1bb97c81253564e0a9228759891',1,'opendal_result_operator_new']]]
];
diff --git a/docs/c/search/variables_7.js b/docs/c/search/variables_7.js
index fd9870a08..b598e6eda 100644
--- a/docs/c/search/variables_7.js
+++ b/docs/c/search/variables_7.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['ptr_108',['ptr',['../structopendal__operator__ptr.html#a17b619ae01bb6471f51f8501ab18dd9b',1,'opendal_operator_ptr']]]
+ ['ptr_123',['ptr',['../structopendal__operator__ptr.html#a17b619ae01bb6471f51f8501ab18dd9b',1,'opendal_operator_ptr']]]
];
diff --git a/docs/c/search/variables_8.html b/docs/c/search/variables_8.html
new file mode 100644
index 000000000..dc9ec54a5
--- /dev/null
+++ b/docs/c/search/variables_8.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/c/search/variables_8.js b/docs/c/search/variables_8.js
new file mode 100644
index 000000000..5b38e62a4
--- /dev/null
+++ b/docs/c/search/variables_8.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['reader_124',['reader',['../structopendal__result__reader.html#ab2f72d683d38843ca9b429fc9a80272d',1,'opendal_result_reader']]]
+];
diff --git a/docs/c/search/variables_9.html b/docs/c/search/variables_9.html
new file mode 100644
index 000000000..7b0147509
--- /dev/null
+++ b/docs/c/search/variables_9.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+</script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+window.addEventListener("message", function(event) {
+ if (event.data == "take_focus") {
+ var elem = searchResults.NavNext(0);
+ if (elem) elem.focus();
+ }
+});
+/* @license-end */
+</script>
+</div>
+</body>
+</html>
diff --git a/docs/c/search/variables_9.js b/docs/c/search/variables_9.js
new file mode 100644
index 000000000..e79e8a7e8
--- /dev/null
+++ b/docs/c/search/variables_9.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['size_125',['size',['../structopendal__result__reader__read.html#a5a513cafeacebef13f74fd50c30e9810',1,'opendal_result_reader_read']]]
+];
diff --git a/docs/c/classes.html b/docs/c/structopendal__reader-members.html
similarity index 68%
copy from docs/c/classes.html
copy to docs/c/structopendal__reader-members.html
index 51455a173..3ec61d860 100644
--- a/docs/c/classes.html
+++ b/docs/c/structopendal__reader-members.html
@@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>OpenDAL C Binding: Class Index</title>
+<title>OpenDAL C Binding: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -47,7 +47,6 @@ $(function() {
});
/* @license-end */</script>
<div id="main-nav"></div>
-</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -62,18 +61,17 @@ $(function() {
</iframe>
</div>
+</div><!-- top -->
<div class="header">
<div class="headertitle">
-<div class="title">Class Index</div> </div>
+<div class="title">opendal_reader Member List</div> </div>
</div><!--header-->
<div class="contents">
-<div class="qindex"><a class="qindex" href="#letter_O">O</a></div>
-<div class="classindex">
-<dl class="classindex even">
-<dt class="alphachar"><a name="letter_O">O</a></dt>
-<dd><a class="el" href="structopendal__blocking__lister.html">opendal_blocking_lister</a></dd><dd><a class="el" href="structopendal__bytes.html">opendal_bytes</a></dd><dd><a class="el" href="structopendal__error.html">opendal_error</a></dd><dd><a class="el" href="structopendal__list__entry.html">opendal_list_entry</a></dd><dd><a class="el" href="structopendal__metadata.html">opendal_metadata</a></dd><dd><a class="el" href="structopendal__operator__options.html">opendal_operator_options</ [...]
-</div>
-</div><!-- contents -->
+
+<p>This is the complete list of members for <a class="el" href="structopendal__reader.html">opendal_reader</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="structopendal__reader.html#a25070270d288274fc2fcb1e38d389718">inner</a></td><td class="entry"><a class="el" href="structopendal__reader.html">opendal_reader</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
diff --git a/docs/c/classes.html b/docs/c/structopendal__reader.html
similarity index 63%
copy from docs/c/classes.html
copy to docs/c/structopendal__reader.html
index 51455a173..26a15a042 100644
--- a/docs/c/classes.html
+++ b/docs/c/structopendal__reader.html
@@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>OpenDAL C Binding: Class Index</title>
+<title>OpenDAL C Binding: opendal_reader Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -47,7 +47,6 @@ $(function() {
});
/* @license-end */</script>
<div id="main-nav"></div>
-</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -62,17 +61,41 @@ $(function() {
</iframe>
</div>
+</div><!-- top -->
<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> |
+<a href="structopendal__reader-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">Class Index</div> </div>
+<div class="title">opendal_reader Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
-<div class="qindex"><a class="qindex" href="#letter_O">O</a></div>
-<div class="classindex">
-<dl class="classindex even">
-<dt class="alphachar"><a name="letter_O">O</a></dt>
-<dd><a class="el" href="structopendal__blocking__lister.html">opendal_blocking_lister</a></dd><dd><a class="el" href="structopendal__bytes.html">opendal_bytes</a></dd><dd><a class="el" href="structopendal__error.html">opendal_error</a></dd><dd><a class="el" href="structopendal__list__entry.html">opendal_list_entry</a></dd><dd><a class="el" href="structopendal__metadata.html">opendal_metadata</a></dd><dd><a class="el" href="structopendal__operator__options.html">opendal_operator_options</ [...]
+
+<p><code>#include <<a class="el" href="opendal_8h_source.html">opendal.h</a>></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a25070270d288274fc2fcb1e38d389718"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="opendal_8h.html#a8c11fb124aac4911b663122dbfa7d1fa">BlockingReader</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structopendal__reader.html#a25070270d288274fc2fcb1e38d389718">inner</a></td></tr>
+<tr class="separator:a25070270d288274fc2fcb1e38d389718"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a id="a25070270d288274fc2fcb1e38d389718"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a25070270d288274fc2fcb1e38d389718">◆ </a></span>inner</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="opendal_8h.html#a8c11fb124aac4911b663122dbfa7d1fa">BlockingReader</a>* opendal_reader::inner</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/<a class="el" href="opendal_8h_source.html">opendal.h</a></li>
+</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
diff --git a/docs/c/classes.html b/docs/c/structopendal__result__reader-members.html
similarity index 68%
copy from docs/c/classes.html
copy to docs/c/structopendal__result__reader-members.html
index 51455a173..a618ca7e5 100644
--- a/docs/c/classes.html
+++ b/docs/c/structopendal__result__reader-members.html
@@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>OpenDAL C Binding: Class Index</title>
+<title>OpenDAL C Binding: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -47,7 +47,6 @@ $(function() {
});
/* @license-end */</script>
<div id="main-nav"></div>
-</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -62,18 +61,18 @@ $(function() {
</iframe>
</div>
+</div><!-- top -->
<div class="header">
<div class="headertitle">
-<div class="title">Class Index</div> </div>
+<div class="title">opendal_result_reader Member List</div> </div>
</div><!--header-->
<div class="contents">
-<div class="qindex"><a class="qindex" href="#letter_O">O</a></div>
-<div class="classindex">
-<dl class="classindex even">
-<dt class="alphachar"><a name="letter_O">O</a></dt>
-<dd><a class="el" href="structopendal__blocking__lister.html">opendal_blocking_lister</a></dd><dd><a class="el" href="structopendal__bytes.html">opendal_bytes</a></dd><dd><a class="el" href="structopendal__error.html">opendal_error</a></dd><dd><a class="el" href="structopendal__list__entry.html">opendal_list_entry</a></dd><dd><a class="el" href="structopendal__metadata.html">opendal_metadata</a></dd><dd><a class="el" href="structopendal__operator__options.html">opendal_operator_options</ [...]
-</div>
-</div><!-- contents -->
+
+<p>This is the complete list of members for <a class="el" href="structopendal__result__reader.html">opendal_result_reader</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="structopendal__result__reader.html#a1c075185ae159ac377b3e971c359efc2">error</a></td><td class="entry"><a class="el" href="structopendal__result__reader.html">opendal_result_reader</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structopendal__result__reader.html#ab2f72d683d38843ca9b429fc9a80272d">reader</a></td><td class="entry"><a class="el" href="structopendal__result__reader.html">opendal_result_reader</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
diff --git a/docs/c/structopendal__result__reader.html b/docs/c/structopendal__result__reader.html
new file mode 100644
index 000000000..6c4ec0d3c
--- /dev/null
+++ b/docs/c/structopendal__result__reader.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>OpenDAL C Binding: opendal_result_reader Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">OpenDAL C Binding
+ </div>
+ <div id="projectbrief">The C binding for Apache OpenDAL</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> |
+<a href="structopendal__result__reader-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">opendal_result_reader Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The result type returned by opendal_operator_reader(). The result type for opendal_operator_reader(), the field <code>reader</code> contains the reader of the path, which is an iterator of the objects under the path. the field <code>code</code> represents whether the stat operation is successful.
+ <a href="structopendal__result__reader.html#details">More...</a></p>
+
+<p><code>#include <<a class="el" href="opendal_8h_source.html">opendal.h</a>></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:ab2f72d683d38843ca9b429fc9a80272d"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structopendal__reader.html">opendal_reader</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structopendal__result__reader.html#ab2f72d683d38843ca9b429fc9a80272d">reader</a></td></tr>
+<tr class="separator:ab2f72d683d38843ca9b429fc9a80272d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1c075185ae159ac377b3e971c359efc2"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structopendal__error.html">opendal_error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structopendal__result__reader.html#a1c075185ae159ac377b3e971c359efc2">error</a></td></tr>
+<tr class="separator:a1c075185ae159ac377b3e971c359efc2"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The result type returned by opendal_operator_reader(). The result type for opendal_operator_reader(), the field <code>reader</code> contains the reader of the path, which is an iterator of the objects under the path. the field <code>code</code> represents whether the stat operation is successful. </p>
+</div><h2 class="groupheader">Member Data Documentation</h2>
+<a id="a1c075185ae159ac377b3e971c359efc2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1c075185ae159ac377b3e971c359efc2">◆ </a></span>error</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structopendal__error.html">opendal_error</a>* opendal_result_reader::error</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab2f72d683d38843ca9b429fc9a80272d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab2f72d683d38843ca9b429fc9a80272d">◆ </a></span>reader</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structopendal__reader.html">opendal_reader</a>* opendal_result_reader::reader</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/<a class="el" href="opendal_8h_source.html">opendal.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+</small></address>
+</body>
+</html>
diff --git a/docs/c/classes.html b/docs/c/structopendal__result__reader__read-members.html
similarity index 68%
copy from docs/c/classes.html
copy to docs/c/structopendal__result__reader__read-members.html
index 51455a173..481b3707f 100644
--- a/docs/c/classes.html
+++ b/docs/c/structopendal__result__reader__read-members.html
@@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>OpenDAL C Binding: Class Index</title>
+<title>OpenDAL C Binding: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -47,7 +47,6 @@ $(function() {
});
/* @license-end */</script>
<div id="main-nav"></div>
-</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -62,18 +61,18 @@ $(function() {
</iframe>
</div>
+</div><!-- top -->
<div class="header">
<div class="headertitle">
-<div class="title">Class Index</div> </div>
+<div class="title">opendal_result_reader_read Member List</div> </div>
</div><!--header-->
<div class="contents">
-<div class="qindex"><a class="qindex" href="#letter_O">O</a></div>
-<div class="classindex">
-<dl class="classindex even">
-<dt class="alphachar"><a name="letter_O">O</a></dt>
-<dd><a class="el" href="structopendal__blocking__lister.html">opendal_blocking_lister</a></dd><dd><a class="el" href="structopendal__bytes.html">opendal_bytes</a></dd><dd><a class="el" href="structopendal__error.html">opendal_error</a></dd><dd><a class="el" href="structopendal__list__entry.html">opendal_list_entry</a></dd><dd><a class="el" href="structopendal__metadata.html">opendal_metadata</a></dd><dd><a class="el" href="structopendal__operator__options.html">opendal_operator_options</ [...]
-</div>
-</div><!-- contents -->
+
+<p>This is the complete list of members for <a class="el" href="structopendal__result__reader__read.html">opendal_result_reader_read</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="structopendal__result__reader__read.html#a1279e7b3cb6beaf63da0f6ee9370ba36">error</a></td><td class="entry"><a class="el" href="structopendal__result__reader__read.html">opendal_result_reader_read</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structopendal__result__reader__read.html#a5a513cafeacebef13f74fd50c30e9810">size</a></td><td class="entry"><a class="el" href="structopendal__result__reader__read.html">opendal_result_reader_read</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
diff --git a/docs/c/classes.html b/docs/c/structopendal__result__reader__read.html
similarity index 53%
copy from docs/c/classes.html
copy to docs/c/structopendal__result__reader__read.html
index 51455a173..79dee3c48 100644
--- a/docs/c/classes.html
+++ b/docs/c/structopendal__result__reader__read.html
@@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>OpenDAL C Binding: Class Index</title>
+<title>OpenDAL C Binding: opendal_result_reader_read Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -47,7 +47,6 @@ $(function() {
});
/* @license-end */</script>
<div id="main-nav"></div>
-</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -62,17 +61,57 @@ $(function() {
</iframe>
</div>
+</div><!-- top -->
<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> |
+<a href="structopendal__result__reader__read-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">Class Index</div> </div>
+<div class="title">opendal_result_reader_read Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
-<div class="qindex"><a class="qindex" href="#letter_O">O</a></div>
-<div class="classindex">
-<dl class="classindex even">
-<dt class="alphachar"><a name="letter_O">O</a></dt>
-<dd><a class="el" href="structopendal__blocking__lister.html">opendal_blocking_lister</a></dd><dd><a class="el" href="structopendal__bytes.html">opendal_bytes</a></dd><dd><a class="el" href="structopendal__error.html">opendal_error</a></dd><dd><a class="el" href="structopendal__list__entry.html">opendal_list_entry</a></dd><dd><a class="el" href="structopendal__metadata.html">opendal_metadata</a></dd><dd><a class="el" href="structopendal__operator__options.html">opendal_operator_options</ [...]
+
+<p><code>#include <<a class="el" href="opendal_8h_source.html">opendal.h</a>></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a5a513cafeacebef13f74fd50c30e9810"><td class="memItemLeft" align="right" valign="top">uintptr_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structopendal__result__reader__read.html#a5a513cafeacebef13f74fd50c30e9810">size</a></td></tr>
+<tr class="separator:a5a513cafeacebef13f74fd50c30e9810"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1279e7b3cb6beaf63da0f6ee9370ba36"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structopendal__error.html">opendal_error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structopendal__result__reader__read.html#a1279e7b3cb6beaf63da0f6ee9370ba36">error</a></td></tr>
+<tr class="separator:a1279e7b3cb6beaf63da0f6ee9370ba36"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a id="a1279e7b3cb6beaf63da0f6ee9370ba36"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1279e7b3cb6beaf63da0f6ee9370ba36">◆ </a></span>error</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structopendal__error.html">opendal_error</a>* opendal_result_reader_read::error</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5a513cafeacebef13f74fd50c30e9810"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5a513cafeacebef13f74fd50c30e9810">◆ </a></span>size</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uintptr_t opendal_result_reader_read::size</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/<a class="el" href="opendal_8h_source.html">opendal.h</a></li>
+</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
diff --git a/docs/category/services/index.html b/docs/category/services/index.html
index c6666021e..4503b98f5 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 ee6ecc641..33e339fb4 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-10-13 22:27:32 </i>
+<i style="float:right;">Last updated 2023-10-14 04:29:16 </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 6f9d555c7..2033dd4ec 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-10-13 22:27:32 </i>
+<i style="float:right;">Last updated 2023-10-14 04:29:16 </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
diff --git a/docs/lua/index.html b/docs/lua/index.html
index e1aac98f0..dfd2869fd 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-10-13 22:27:32 </i>
+<i style="float:right;">Last updated 2023-10-14 04:29:16 </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
diff --git a/docs/nodejs/classes/BlockingLister.html b/docs/nodejs/classes/BlockingLister.html
index 02d59a7e3..064dc261d 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/8e098eb/bindings/nodejs/index.d.ts#L435">index.d.ts:435</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L435">index.d.ts:435</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/8e098eb/bindings/nodejs/index.d.ts#L436">index.d.ts:436</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L436">index.d.ts:436</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 afcac6950..5d8f28345 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/8e098eb/bindings/nodejs/index.d.ts#L398">index.d.ts:398</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L398">index.d.ts:398</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">
@@ -53,7 +53,7 @@
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L400">index.d.ts:400</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L400">index.d.ts:400</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/Lister.html b/docs/nodejs/classes/Lister.html
index a451d1cae..718030cf3 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/8e098eb/bindings/nodejs/index.d.ts#L424">index.d.ts:424</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L424">index.d.ts:424</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">
@@ -57,7 +57,7 @@ thing internally.</p>
</div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L433">index.d.ts:433</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L433">index.d.ts:433</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 b6786f891..2cbf03188 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/8e098eb/bindings/nodejs/index.d.ts#L402">index.d.ts:402</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L402">index.d.ts:402</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">
@@ -63,7 +63,7 @@
</div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L408">index.d.ts:408</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L408">index.d.ts:408</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -73,7 +73,7 @@
</div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L410">index.d.ts:410</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L410">index.d.ts:410</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -83,7 +83,7 @@
</div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/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/8679cae/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="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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -93,7 +93,7 @@
</div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L414">index.d.ts:414</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L414">index.d.ts:414</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -103,7 +103,7 @@
</div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/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/8679cae/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="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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -114,7 +114,7 @@
</div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L422">index.d.ts:422</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L422">index.d.ts:422</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>
@@ -126,7 +126,7 @@
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/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/8679cae/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="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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -136,7 +136,7 @@
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L406">index.d.ts:406</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L406">index.d.ts:406</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 f51d5f274..3b9eb05b6 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/8e098eb/bindings/nodejs/index.d.ts#L33">index.d.ts:33</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L33">index.d.ts:33</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">
@@ -79,7 +79,7 @@
<h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type ">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">></span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <a href="Operator.html" class="tsd-signature-type tsd-kind-class">Operator</a></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L35">index.d.ts:35</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L35">index.d.ts:35</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>
@@ -104,7 +104,7 @@
<h5><span class="tsd-kind-parameter">content</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type ">Buffer</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L170">index.d.ts:170</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L170">index.d.ts:170</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -117,7 +117,7 @@
</div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L78">index.d.ts:78</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L78">index.d.ts:78</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -136,7 +136,7 @@
<h5><span class="tsd-kind-parameter">to</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L179">index.d.ts:179</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L179">index.d.ts:179</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -155,7 +155,7 @@
<h5><span class="tsd-kind-parameter">to</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L188">index.d.ts:188</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L188">index.d.ts:188</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -172,7 +172,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L105">index.d.ts:105</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L105">index.d.ts:105</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -189,7 +189,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L114">index.d.ts:114</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L114">index.d.ts:114</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -207,7 +207,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L269">index.d.ts:269</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L269">index.d.ts:269</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -224,7 +224,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L278">index.d.ts:278</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L278">index.d.ts:278</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -241,7 +241,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L87">index.d.ts:87</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L87">index.d.ts:87</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -258,7 +258,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L96">index.d.ts:96</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L96">index.d.ts:96</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -277,7 +277,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L325">index.d.ts:325</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L325">index.d.ts:325</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -296,7 +296,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <a href="BlockingLister.html" class="tsd-signature-type tsd-kind-class">BlockingLister</a></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L348">index.d.ts:348</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L348">index.d.ts:348</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -316,7 +316,7 @@
<h5><span class="tsd-kind-parameter">expires</span>: <span class="tsd-signature-type">number</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L364">index.d.ts:364</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L364">index.d.ts:364</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -336,7 +336,7 @@
<h5><span class="tsd-kind-parameter">expires</span>: <span class="tsd-signature-type">number</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L396">index.d.ts:396</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L396">index.d.ts:396</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -356,7 +356,7 @@
<h5><span class="tsd-kind-parameter">expires</span>: <span class="tsd-signature-type">number</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L380">index.d.ts:380</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L380">index.d.ts:380</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -373,7 +373,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L123">index.d.ts:123</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L123">index.d.ts:123</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -390,7 +390,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Buffer</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L132">index.d.ts:132</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L132">index.d.ts:132</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -408,7 +408,7 @@
<h5><span class="tsd-kind-parameter">paths</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L290">index.d.ts:290</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L290">index.d.ts:290</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -426,7 +426,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L302">index.d.ts:302</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L302">index.d.ts:302</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -446,7 +446,7 @@
<h5><span class="tsd-kind-parameter">to</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L199">index.d.ts:199</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L199">index.d.ts:199</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -466,7 +466,7 @@
<h5><span class="tsd-kind-parameter">to</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L210">index.d.ts:210</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L210">index.d.ts:210</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -485,7 +485,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L234">index.d.ts:234</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L234">index.d.ts:234</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -504,7 +504,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <a href="BlockingLister.html" class="tsd-signature-type tsd-kind-class">BlockingLister</a></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L257">index.d.ts:257</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L257">index.d.ts:257</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -527,7 +527,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L55">index.d.ts:55</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L55">index.d.ts:55</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -544,7 +544,7 @@
<h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <a href="Metadata.html" class="tsd-signature-type tsd-kind-class">Metadata</a></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L67">index.d.ts:67</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L67">index.d.ts:67</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -563,7 +563,7 @@
<h5><span class="tsd-kind-parameter">content</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type ">Buffer</span></h5></li></ul></div>
<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><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L143">index.d.ts:143</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L143">index.d.ts:143</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures">
@@ -582,7 +582,7 @@
<h5><span class="tsd-kind-parameter">content</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type ">Buffer</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L154">index.d.ts:154</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L154">index.d.ts:154</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 3fed6aeb0..cddbe78ea 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/8e098eb/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/8679cae/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">
@@ -40,21 +40,21 @@
<div class="tsd-comment tsd-typography"><p>HTTP headers of this request.</p>
</div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L31">index.d.ts:31</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L31">index.d.ts:31</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></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>
<div class="tsd-comment tsd-typography"><p>HTTP method of this request.</p>
</div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L27">index.d.ts:27</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L27">index.d.ts:27</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 class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></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>
<div class="tsd-comment tsd-typography"><p>URL of this request.</p>
</div><aside class="tsd-sources">
<ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8e098eb/bindings/nodejs/index.d.ts#L29">index.d.ts:29</a></li></ul></aside></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/8679cae/bindings/nodejs/index.d.ts#L29">index.d.ts:29</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 77948268a..ad7967a54 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/python/opendal.html b/docs/python/opendal.html
index 6dd57966a..41ccb195d 100644
--- a/docs/python/opendal.html
+++ b/docs/python/opendal.html
@@ -170,9 +170,6 @@
<li>
<a class="variable" href="#Metadata.content_md5">content_md5</a>
</li>
- <li>
- <a class="variable" href="#Metadata.etag">etag</a>
- </li>
<li>
<a class="variable" href="#Metadata.content_length">content_length</a>
</li>
@@ -182,21 +179,24 @@
<li>
<a class="variable" href="#Metadata.mode">mode</a>
</li>
+ <li>
+ <a class="variable" href="#Metadata.etag">etag</a>
+ </li>
</ul>
</li>
<li>
<a class="class" href="#PresignedRequest">PresignedRequest</a>
<ul class="memberlist">
- <li>
- <a class="variable" href="#PresignedRequest.headers">headers</a>
- </li>
<li>
<a class="variable" href="#PresignedRequest.method">method</a>
</li>
<li>
<a class="variable" href="#PresignedRequest.url">url</a>
</li>
+ <li>
+ <a class="variable" href="#PresignedRequest.headers">headers</a>
+ </li>
</ul>
</li>
@@ -947,19 +947,6 @@ The default value for whence is <code>SEEK_SET</code>. Values for <code>whence</
</div>
- </div>
- <div id="Metadata.etag" class="classattr">
- <div class="attr variable">
- <span class="name">etag</span><span class="annotation">: Optional[str]</span>
-
-
- </div>
- <a class="headerlink" href="#Metadata.etag"></a>
-
- <div class="docstring"><p>ETag of this entry.</p>
-</div>
-
-
</div>
<div id="Metadata.content_length" class="classattr">
<div class="attr variable">
@@ -999,6 +986,19 @@ The default value for whence is <code>SEEK_SET</code>. Values for <code>whence</
</div>
+ </div>
+ <div id="Metadata.etag" class="classattr">
+ <div class="attr variable">
+ <span class="name">etag</span><span class="annotation">: Optional[str]</span>
+
+
+ </div>
+ <a class="headerlink" href="#Metadata.etag"></a>
+
+ <div class="docstring"><p>ETag of this entry.</p>
+</div>
+
+
</div>
</section>
<section id="PresignedRequest">
@@ -1013,41 +1013,41 @@ The default value for whence is <code>SEEK_SET</code>. Values for <code>whence</
- <div id="PresignedRequest.headers" class="classattr">
+ <div id="PresignedRequest.method" class="classattr">
<div class="attr variable">
- <span class="name">headers</span><span class="annotation">: dict[str, str]</span>
+ <span class="name">method</span><span class="annotation">: str</span>
</div>
- <a class="headerlink" href="#PresignedRequest.headers"></a>
+ <a class="headerlink" href="#PresignedRequest.method"></a>
- <div class="docstring"><p>Return the HTTP headers of this request.</p>
+ <div class="docstring"><p>Return the HTTP method of this request.</p>
</div>
</div>
- <div id="PresignedRequest.method" class="classattr">
+ <div id="PresignedRequest.url" class="classattr">
<div class="attr variable">
- <span class="name">method</span><span class="annotation">: str</span>
+ <span class="name">url</span><span class="annotation">: str</span>
</div>
- <a class="headerlink" href="#PresignedRequest.method"></a>
+ <a class="headerlink" href="#PresignedRequest.url"></a>
- <div class="docstring"><p>Return the HTTP method of this request.</p>
+ <div class="docstring"><p>Return the URL of this request.</p>
</div>
</div>
- <div id="PresignedRequest.url" class="classattr">
+ <div id="PresignedRequest.headers" class="classattr">
<div class="attr variable">
- <span class="name">url</span><span class="annotation">: str</span>
+ <span class="name">headers</span><span class="annotation">: dict[str, str]</span>
</div>
- <a class="headerlink" href="#PresignedRequest.url"></a>
+ <a class="headerlink" href="#PresignedRequest.headers"></a>
- <div class="docstring"><p>Return the URL of this request.</p>
+ <div class="docstring"><p>Return the HTTP headers of this request.</p>
</div>
diff --git a/docs/python/search.js b/docs/python/search.js
index 626c4038a..b8b8af7d3 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 e6c3d1b29..d373be99a 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 a2364fd75..ce5d7d338 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 30451e270..2001c553c 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 4b5820967..70e1931e4 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 7ce590354..d14deea74 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 303345559..3c3833648 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 51bf8161a..a000ced28 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 a69198a55..91456f865 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 4594ffdeb..401688dee 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 4a21db8d1..ecb786527 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 4e2033469..26b99ced2 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 981841b34..845b11556 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 48d6ec9b4..1ece4c7fd 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 3c877ef68..71d5409b6 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 f6181b201..2efb17697 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 fda4705c8..dba6f0967 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 9964d3830..1f4fd7ca6 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 af16a101d..7865ee763 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 9d0c092ec..da447614e 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 9444dcb93..0080d804e 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 cd4d0308c..54ebc4915 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 16c6c2c70..238c3b409 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 853929a93..3b9937350 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 38b612364..0ad9056f2 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 4e2a2a1af..592adaab3 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 17d5420d0..471202039 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 96e9486f6..62f9871c3 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 500813028..ebc4be331 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/services/wasabi/index.html b/docs/services/wasabi/index.html
index a85a2e67d..5d224555e 100644
--- a/docs/services/wasabi/index.html
+++ b/docs/services/wasabi/index.html
@@ -5,13 +5,13 @@
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">Wasabi | 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/wasabi"><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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 049c7b51d..9f84bcf5c 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.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 f85b7a5eb..10d82ef90 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.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.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/download/index.html b/download/index.html
index 4aae804af..ee653ed23 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/index.html b/index.html
index b3489c2d5..13f67674f 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.51901b6f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.08ce2056.js" as="script">
<link rel="preload" href="/assets/js/main.b308f2c4.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.51901b6f.js"></script>
+<script src="/assets/js/runtime~main.08ce2056.js"></script>
<script src="/assets/js/main.b308f2c4.js"></script>
</body>
</html>
\ No newline at end of file