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/iceberg-rust.git


The following commit(s) were added to refs/heads/gh-pages by this push:
     new e76a4de8 deploy: e8f795eb1f261c4f0392288ac8e51b4c74d47872
e76a4de8 is described below

commit e76a4de8b1f774dc3cbcb1e63138fe5f0bdb48ad
Author: liurenjie1024 <[email protected]>
AuthorDate: Fri Apr 18 13:08:42 2025 +0000

    deploy: e8f795eb1f261c4f0392288ac8e51b4c74d47872
---
 api/crates.js                                      |   4 +-
 api/help.html                                      |   2 +-
 api/iceberg_cache_moka/all.html                    |   1 +
 api/iceberg_cache_moka/index.html                  |   1 +
 api/iceberg_cache_moka/sidebar-items.js            |   1 +
 .../struct.MokaObjectCacheProvider.html            |  33 ++++
 api/search-index.js                                |   4 +-
 .../iceberg_cache_moka-desc-0-.js                  |   1 +
 api/settings.html                                  |   2 +-
 api/src-files.js                                   |   4 +-
 api/src/iceberg_cache_moka/lib.rs.html             | 181 +++++++++++++++++++++
 api/trait.impl/core/default/trait.Default.js       |   4 +-
 api/trait.impl/core/marker/trait.Freeze.js         |   4 +-
 api/trait.impl/core/marker/trait.Send.js           |   4 +-
 api/trait.impl/core/marker/trait.Sync.js           |   4 +-
 api/trait.impl/core/marker/trait.Unpin.js          |   4 +-
 .../core/panic/unwind_safe/trait.RefUnwindSafe.js  |   4 +-
 .../core/panic/unwind_safe/trait.UnwindSafe.js     |   4 +-
 .../iceberg/cache/trait.ObjectCacheProvide.js      |   9 +
 19 files changed, 249 insertions(+), 22 deletions(-)

diff --git a/api/crates.js b/api/crates.js
index 270e918b..53dfff63 100644
--- a/api/crates.js
+++ b/api/crates.js
@@ -1,2 +1,2 @@
-window.ALL_CRATES = 
["iceberg","iceberg_catalog_glue","iceberg_catalog_hms","iceberg_catalog_memory","iceberg_catalog_rest","iceberg_catalog_s3tables","iceberg_catalog_sql","iceberg_cli","iceberg_datafusion","iceberg_integration_tests","iceberg_sqllogictest","iceberg_test_utils"];
-//{"start":21,"fragment_lengths":[9,23,22,25,23,27,22,14,21,28,23,21]}
\ No newline at end of file
+window.ALL_CRATES = 
["iceberg","iceberg_cache_moka","iceberg_catalog_glue","iceberg_catalog_hms","iceberg_catalog_memory","iceberg_catalog_rest","iceberg_catalog_s3tables","iceberg_catalog_sql","iceberg_cli","iceberg_datafusion","iceberg_integration_tests","iceberg_sqllogictest","iceberg_test_utils"];
+//{"start":21,"fragment_lengths":[9,21,23,22,25,23,27,22,14,21,28,23,21]}
\ No newline at end of file
diff --git a/api/help.html b/api/help.html
index cc5a8c40..7a3da648 100644
--- a/api/help.html
+++ b/api/help.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" 
content="Documentation for 
Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,Source
 [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" 
content="Documentation for 
Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,Source
 [...]
\ No newline at end of file
diff --git a/api/iceberg_cache_moka/all.html b/api/iceberg_cache_moka/all.html
new file mode 100644
index 00000000..1cf3b811
--- /dev/null
+++ b/api/iceberg_cache_moka/all.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="List of 
all items in this crate"><title>List of all items in this 
crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-
 [...]
\ No newline at end of file
diff --git a/api/iceberg_cache_moka/index.html 
b/api/iceberg_cache_moka/index.html
new file mode 100644
index 00000000..770f1cbb
--- /dev/null
+++ b/api/iceberg_cache_moka/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `iceberg_cache_moka` 
crate."><title>iceberg_cache_moka - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a
 [...]
\ No newline at end of file
diff --git a/api/iceberg_cache_moka/sidebar-items.js 
b/api/iceberg_cache_moka/sidebar-items.js
new file mode 100644
index 00000000..29a41b7a
--- /dev/null
+++ b/api/iceberg_cache_moka/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"struct":["MokaObjectCacheProvider"]};
\ No newline at end of file
diff --git a/api/iceberg_cache_moka/struct.MokaObjectCacheProvider.html 
b/api/iceberg_cache_moka/struct.MokaObjectCacheProvider.html
new file mode 100644
index 00000000..72bd85fb
--- /dev/null
+++ b/api/iceberg_cache_moka/struct.MokaObjectCacheProvider.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="A cache 
provider that uses Moka for caching objects."><title>MokaObjectCacheProvider in 
iceberg_cache_moka - 
Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,Fir
 [...]
+</div></details><h2 id="implementations" 
class="section-header">Implementations<a href="#implementations" 
class="anchor">§</a></h2><div id="implementations-list"><details class="toggle 
implementors-toggle" open><summary><section id="impl-MokaObjectCacheProvider" 
class="impl"><a class="src rightside" 
href="../src/iceberg_cache_moka/lib.rs.html#54-80">Source</a><a 
href="#impl-MokaObjectCacheProvider" class="anchor">§</a><h3 
class="code-header">impl <a class="struct" href="struct.MokaObject [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.with_manifest_cache" class="method"><a class="src rightside" 
href="../src/iceberg_cache_moka/lib.rs.html#67-70">Source</a><h4 
class="code-header">pub fn <a href="#method.with_manifest_cache" 
class="fn">with_manifest_cache</a>(self, cache: Cache&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"; 
title="struct alloc::string::String">String</a>, <a class="struct [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.with_manifest_list_cache" class="method"><a class="src rightside" 
href="../src/iceberg_cache_moka/lib.rs.html#73-79">Source</a><h4 
class="code-header">pub fn <a href="#method.with_manifest_list_cache" 
class="fn">with_manifest_list_cache</a>(
+    self,
+    cache: Cache&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"; 
title="struct alloc::string::String">String</a>, <a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html"; 
title="struct alloc::sync::Arc">Arc</a>&lt;ManifestList&gt;&gt;,
+) -&gt; Self</h4></section></summary><div class="docblock"><p>Set the cache 
for manifest lists.</p>
+</div></details></div></details></div><h2 id="trait-implementations" 
class="section-header">Trait Implementations<a href="#trait-implementations" 
class="anchor">§</a></h2><div id="trait-implementations-list"><details 
class="toggle implementors-toggle" open><summary><section 
id="impl-Default-for-MokaObjectCacheProvider" class="impl"><a class="src 
rightside" href="../src/iceberg_cache_moka/lib.rs.html#48-52">Source</a><a 
href="#impl-Default-for-MokaObjectCacheProvider" class="anchor">§</a> [...]
+    T: 'static + ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.type_id" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#139";>Source</a><a 
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href 
[...]
+    T: ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.borrow" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211";>Source</a><a
 href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a 
href="https:/ [...]
+    T: ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.borrow_mut" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218";>Source</a><a
 href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a 
href= [...]
+</div></details></div></details><details class="toggle 
implementors-toggle"><summary><section id="impl-Instrument-for-T" 
class="impl"><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 
class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.instrument" class="method trait-impl"><a href="#method.instrument" 
class="anchor">§</a><h4 class="code-header">fn <a class="fn">in [...]
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details 
class="toggle method-toggle" open><summary><section id="method.in_current_span" 
class="method trait-impl"><a href="#method.in_current_span" 
class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">in_current_span</a>(self) -&gt; 
Instrumented&lt;Self&gt;</h4></section></summary><div 
class='docblock'>Instruments this type with the <a 
href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</co 
[...]
+<code>Instrumented</code> wrapper. <a>Read 
more</a></div></details></div></details><details class="toggle 
implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" 
class="impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750";>Source</a><a
 href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 
class="code-header">impl&lt;T, U&gt; <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"; 
title="trai [...]
+    U: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"; 
title="trait 
core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.into" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758";>Source</a><a
 href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href= 
[...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"; 
title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to 
do.</p>
+</div></details></div></details><details class="toggle 
implementors-toggle"><summary><section id="impl-IntoEither-for-T" 
class="impl"><a class="src rightside" 
href="https://docs.rs/either/1/src/either/into_either.rs.html#64";>Source</a><a 
href="#impl-IntoEither-for-T" class="anchor">§</a><h3 
class="code-header">impl&lt;T&gt; <a class="trait" 
href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html"; 
title="trait either::into_either::IntoEither">IntoEither</a> for T</h3></sec 
[...]
+if <code>into_left</code> is <code>true</code>.
+Converts <code>self</code> into a <a 
href="https://docs.rs/either/1/either/enum.Either.html#variant.Right"; 
title="variant either::Either::Right"><code>Right</code></a> variant of <a 
href="https://docs.rs/either/1/either/enum.Either.html"; title="enum 
either::Either"><code>Either&lt;Self, Self&gt;</code></a>
+otherwise. <a 
href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either";>Read
 more</a></div></details><details class="toggle method-toggle" 
open><summary><section id="method.into_either_with" class="method 
trait-impl"><a class="src rightside" 
href="https://docs.rs/either/1/src/either/into_either.rs.html#55-57";>Source</a><a
 href="#method.into_either_with" class="anchor">§</a><h4 class="code-header">fn 
<a href="https://docs.rs/either/1/either/into_either/tr [...]
+    F: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html"; 
title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;Self) -&gt; <a 
class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a>,</div></h4></section></summary><div
 class='docblock'>Converts <code>self</code> into a <a 
href="https://docs.rs/either/1/either/enum.Either.html#variant.Left"; 
title="variant either::Either::Left"><code>Left</code></a> variant  [...]
+if <code>into_left(&amp;self)</code> returns <code>true</code>.
+Converts <code>self</code> into a <a 
href="https://docs.rs/either/1/either/enum.Either.html#variant.Right"; 
title="variant either::Either::Right"><code>Right</code></a> variant of <a 
href="https://docs.rs/either/1/either/enum.Either.html"; title="enum 
either::Either"><code>Either&lt;Self, Self&gt;</code></a>
+otherwise. <a 
href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either_with";>Read
 more</a></div></details></div></details><details class="toggle 
implementors-toggle"><summary><section id="impl-Pointable-for-T" 
class="impl"><a href="#impl-Pointable-for-T" class="anchor">§</a><h3 
class="code-header">impl&lt;T&gt; Pointable for T</h3></section></summary><div 
class="impl-items"><details class="toggle" open><summary><section 
id="associatedconstant.ALIGN" clas [...]
+    U: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"; 
title="trait 
core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div 
class="impl-items"><details class="toggle" open><summary><section 
id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src 
rightside" 
href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#809";>Source</a><a
 href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-hea [...]
+    U: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"; 
title="trait 
core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div
 class="impl-items"><details class="toggle" open><summary><section 
id="associatedtype.Error" class="associatedtype trait-impl"><a class="src 
rightside" 
href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#794";>Source</a><a
 href="#associatedtype.Error" class="anchor">§</a><h4 class="cod [...]
+    V: MultiLane&lt;T&gt;,</div></h3></section></summary><div 
class="impl-items"><section id="method.vzip" class="method trait-impl"><a 
href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a 
class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details 
class="toggle implementors-toggle"><summary><section 
id="impl-WithSubscriber-for-T" class="impl"><a 
href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 
class="code-header">impl&lt;T&gt; WithSubscriber for T< [...]
+    S: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"; 
title="trait 
core::convert::Into">Into</a>&lt;Dispatch&gt;,</div></h4></section></summary><div
 class='docblock'>Attaches the provided <a 
href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details 
class="toggle method-toggle" open><summary><section 
id="method.with_current_subscriber" class="method trait-impl"><a 
href="#method.with_current_subscriber" class="anchor">§</a><h4 
class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; 
WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches 
the current <a href="crate::dispatcher#setting-the-default-subscriber">defaul 
[...]
+[<code>WithDispatch</code>] wrapper. <a>Read 
more</a></div></details></div></details><section 
id="impl-ErasedDestructor-for-T" class="impl"><a 
href="#impl-ErasedDestructor-for-T" class="anchor">§</a><h3 
class="code-header">impl&lt;T&gt; ErasedDestructor for T<div class="where">where
+    T: 'static,</div></h3></section><section id="impl-MaybeSend-for-T" 
class="impl"><a href="#impl-MaybeSend-for-T" class="anchor">§</a><h3 
class="code-header">impl&lt;T&gt; MaybeSend for T<div class="where">where
+    T: <a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"; 
title="trait core::marker::Send">Send</a>,</div></h3></section><section 
id="impl-MaybeSendSync-for-T" class="impl"><a href="#impl-MaybeSendSync-for-T" 
class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; MaybeSendSync for 
T</h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/api/search-index.js b/api/search-index.js
index edb4ac47..3e999553 100644
--- a/api/search-index.js
+++ b/api/search-index.js
@@ -1,4 +1,4 @@
-var searchIndex = new 
Map(JSON.parse('[["iceberg",{"t":"PPPPPKPPPPPFGPPPFFPPPPPPPPPPIPPPPPPPPFFFGGPPPFNCNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNMMOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMQNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNCNNNNNNNNNNNCNMMMOONNNOOONOMNNNNNNONOOCMOCOONNNNONCOCMNNNNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOFFFFKSRRSNNNNNNNNHHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNMNNNMNMHM
 [...]
+var searchIndex = new 
Map(JSON.parse('[["iceberg",{"t":"PPPPPKPPPPPFGPPPFFPPPPPPPPPPIPPPPPPPPFFFGGPPPFNCNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNMMOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMQNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNCNNNNNNNNNNNCNMMMOONNNOOONOMNNNNNNONOOCMOCOONNNNONCOCMNNNNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOFFFFKSRRSNNNNNNNNHHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNMNNNMNMHM
 [...]
 if (typeof exports !== 'undefined') exports.searchIndex = searchIndex;
 else if (window.initSearch) window.initSearch(searchIndex);
-//{"start":39,"fragment_lengths":[85713,2348,2291,1821,2127,2098,2233,1414,3389,787,148,1116]}
\ No newline at end of file
+//{"start":39,"fragment_lengths":[85713,1200,2348,2291,1821,2127,2098,2233,1414,3389,787,148,1116]}
\ No newline at end of file
diff --git a/api/search.desc/iceberg_cache_moka/iceberg_cache_moka-desc-0-.js 
b/api/search.desc/iceberg_cache_moka/iceberg_cache_moka-desc-0-.js
new file mode 100644
index 00000000..5d678869
--- /dev/null
+++ b/api/search.desc/iceberg_cache_moka/iceberg_cache_moka-desc-0-.js
@@ -0,0 +1 @@
+searchState.loadedDescShard("iceberg_cache_moka", 0, "A cache provider that 
uses Moka for caching objects.\nReturns the argument unchanged.\nCalls 
<code>U::from(self)</code>.\nCreates a new <code>MokaObjectCacheProvider</code> 
with default cache …\nSet the cache for manifests.\nSet the cache for manifest 
lists.")
\ No newline at end of file
diff --git a/api/settings.html b/api/settings.html
index a636ef77..84ed2606 100644
--- a/api/settings.html
+++ b/api/settings.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Settings 
of 
Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCo
 [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Settings 
of 
Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCo
 [...]
\ No newline at end of file
diff --git a/api/src-files.js b/api/src-files.js
index ec6d14de..e35d15e5 100644
--- a/api/src-files.js
+++ b/api/src-files.js
@@ -1,3 +1,3 @@
-var srcIndex = new 
Map(JSON.parse('[["iceberg",["",[["arrow",[],["delete_file_manager.rs","mod.rs","nan_val_cnt_visitor.rs","reader.rs","record_batch_projector.rs","record_batch_transformer.rs","schema.rs","value.rs"]],["avro",[],["mod.rs","schema.rs"]],["catalog",[],["mod.rs"]],["expr",[["visitors",[],["bound_predicate_visitor.rs","expression_evaluator.rs","inclusive_metrics_evaluator.rs","inclusive_projection.rs","manifest_evaluator.rs","mod.rs","page_index_evaluator.rs","row_group_met
 [...]
+var srcIndex = new 
Map(JSON.parse('[["iceberg",["",[["arrow",[],["delete_file_manager.rs","mod.rs","nan_val_cnt_visitor.rs","reader.rs","record_batch_projector.rs","record_batch_transformer.rs","schema.rs","value.rs"]],["avro",[],["mod.rs","schema.rs"]],["catalog",[],["mod.rs"]],["expr",[["visitors",[],["bound_predicate_visitor.rs","expression_evaluator.rs","inclusive_metrics_evaluator.rs","inclusive_projection.rs","manifest_evaluator.rs","mod.rs","page_index_evaluator.rs","row_group_met
 [...]
 createSrcSidebar();
-//{"start":36,"fragment_lengths":[1936,91,90,80,80,72,67,48,194,49,95,63]}
\ No newline at end of file
+//{"start":36,"fragment_lengths":[1936,42,91,90,80,80,72,67,48,194,49,95,63]}
\ No newline at end of file
diff --git a/api/src/iceberg_cache_moka/lib.rs.html 
b/api/src/iceberg_cache_moka/lib.rs.html
new file mode 100644
index 00000000..b149738b
--- /dev/null
+++ b/api/src/iceberg_cache_moka/lib.rs.html
@@ -0,0 +1,181 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Source of 
the Rust file `crates/integrations/cache-moka/src/lib.rs`."><title>lib.rs - 
source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a
 [...]
+<a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+<a href="#81" id="81">81</a>
+<a href="#82" id="82">82</a>
+<a href="#83" id="83">83</a>
+<a href="#84" id="84">84</a>
+<a href="#85" id="85">85</a>
+<a href="#86" id="86">86</a>
+<a href="#87" id="87">87</a>
+<a href="#88" id="88">88</a>
+<a href="#89" id="89">89</a>
+<a href="#90" id="90">90</a></pre></div><pre class="rust"><code><span 
class="comment">// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+</span><span class="kw">use </span>std::hash::Hash;
+<span class="kw">use </span>std::sync::Arc;
+
+<span class="kw">use </span>iceberg::cache::{ObjectCache, ObjectCacheProvide};
+<span class="kw">use </span>iceberg::spec::{Manifest, ManifestList};
+
+<span class="kw">const </span>DEFAULT_CACHE_SIZE_BYTES: u64 = <span 
class="number">32 </span>* <span class="number">1024 </span>* <span 
class="number">1024</span>; <span class="comment">// 32MiB
+
+</span><span class="kw">struct </span>MokaObjectCache&lt;K, 
V&gt;(moka::sync::Cache&lt;K, V&gt;);
+
+<span class="kw">impl</span>&lt;K, V&gt; ObjectCache&lt;K, V&gt; <span 
class="kw">for </span>MokaObjectCache&lt;K, V&gt;
+<span class="kw">where
+    </span>K: Hash + Eq + Send + Sync + <span class="lifetime">'static</span>,
+    V: Clone + Send + Sync + <span class="lifetime">'static</span>,
+{
+    <span class="kw">fn </span>get(<span class="kw-2">&amp;</span><span 
class="self">self</span>, key: <span class="kw-2">&amp;</span>K) -&gt; <span 
class="prelude-ty">Option</span>&lt;V&gt; {
+        <span class="self">self</span>.<span class="number">0</span>.get(key)
+    }
+
+    <span class="kw">fn </span>set(<span class="kw-2">&amp;</span><span 
class="self">self</span>, key: K, value: V) {
+        <span class="self">self</span>.<span 
class="number">0</span>.insert(key, value);
+    }
+}
+
+<span class="doccomment">/// A cache provider that uses Moka for caching 
objects.
+</span><span class="kw">pub struct </span>MokaObjectCacheProvider {
+    manifest_cache: MokaObjectCache&lt;String, Arc&lt;Manifest&gt;&gt;,
+    manifest_list_cache: MokaObjectCache&lt;String, 
Arc&lt;ManifestList&gt;&gt;,
+}
+
+<span class="kw">impl </span>Default <span class="kw">for 
</span>MokaObjectCacheProvider {
+    <span class="kw">fn </span>default() -&gt; <span class="self">Self </span>{
+        <span class="self">Self</span>::new()
+    }
+}
+
+<span class="kw">impl </span>MokaObjectCacheProvider {
+    <span class="doccomment">/// Creates a new `MokaObjectCacheProvider` with 
default cache sizes.
+    </span><span class="kw">pub fn </span>new() -&gt; <span class="self">Self 
</span>{
+        <span class="kw">let </span>manifest_cache = 
MokaObjectCache(moka::sync::Cache::new(DEFAULT_CACHE_SIZE_BYTES));
+        <span class="kw">let </span>manifest_list_cache = 
MokaObjectCache(moka::sync::Cache::new(DEFAULT_CACHE_SIZE_BYTES));
+
+        <span class="self">Self </span>{
+            manifest_cache,
+            manifest_list_cache,
+        }
+    }
+
+    <span class="doccomment">/// Set the cache for manifests.
+    </span><span class="kw">pub fn </span>with_manifest_cache(<span 
class="kw-2">mut </span><span class="self">self</span>, cache: 
moka::sync::Cache&lt;String, Arc&lt;Manifest&gt;&gt;) -&gt; <span 
class="self">Self </span>{
+        <span class="self">self</span>.manifest_cache = MokaObjectCache(cache);
+        <span class="self">self
+    </span>}
+
+    <span class="doccomment">/// Set the cache for manifest lists.
+    </span><span class="kw">pub fn </span>with_manifest_list_cache(
+        <span class="kw-2">mut </span><span class="self">self</span>,
+        cache: moka::sync::Cache&lt;String, Arc&lt;ManifestList&gt;&gt;,
+    ) -&gt; <span class="self">Self </span>{
+        <span class="self">self</span>.manifest_list_cache = 
MokaObjectCache(cache);
+        <span class="self">self
+    </span>}
+}
+
+<span class="kw">impl </span>ObjectCacheProvide <span class="kw">for 
</span>MokaObjectCacheProvider {
+    <span class="kw">fn </span>manifest_cache(<span 
class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span 
class="kw-2">&amp;</span><span class="kw">dyn </span>ObjectCache&lt;String, 
Arc&lt;Manifest&gt;&gt; {
+        <span class="kw-2">&amp;</span><span 
class="self">self</span>.manifest_cache
+    }
+
+    <span class="kw">fn </span>manifest_list_cache(<span 
class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span 
class="kw-2">&amp;</span><span class="kw">dyn </span>ObjectCache&lt;String, 
Arc&lt;ManifestList&gt;&gt; {
+        <span class="kw-2">&amp;</span><span 
class="self">self</span>.manifest_list_cache
+    }
+}
+</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/api/trait.impl/core/default/trait.Default.js 
b/api/trait.impl/core/default/trait.Default.js
index 8528259a..5edfbd50 100644
--- a/api/trait.impl/core/default/trait.Default.js
+++ b/api/trait.impl/core/default/trait.Default.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["iceberg",[["impl <a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\"; 
title=\"trait core::default::Default\">Default</a> for <a class=\"enum\" 
href=\"iceberg/puffin/enum.CompressionCodec.html\" title=\"enum 
iceberg::puffin::CompressionCodec\">CompressionCodec</a>"],["impl <a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\"; 
title=\"trait core::default::Default\"> [...]
+    var implementors = Object.fromEntries([["iceberg",[["impl <a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\"; 
title=\"trait core::default::Default\">Default</a> for <a class=\"enum\" 
href=\"iceberg/puffin/enum.CompressionCodec.html\" title=\"enum 
iceberg::puffin::CompressionCodec\">CompressionCodec</a>"],["impl <a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/default/trait.Default.html\"; 
title=\"trait core::default::Default\"> [...]
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[3249,338,415]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[3249,356,338,415]}
\ No newline at end of file
diff --git a/api/trait.impl/core/marker/trait.Freeze.js 
b/api/trait.impl/core/marker/trait.Freeze.js
index b2b875fa..688f41b6 100644
--- a/api/trait.impl/core/marker/trait.Freeze.js
+++ b/api/trait.impl/core/marker/trait.Freeze.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["iceberg",[["impl !<a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\"; 
title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" 
href=\"iceberg/enum.TableUpdate.html\" title=\"enum 
iceberg::TableUpdate\">TableUpdate</a>",1,["iceberg::catalog::TableUpdate"]],["impl
 !<a class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\"; 
title=\"trait core::marker::Freeze\">F [...]
+    var implementors = Object.fromEntries([["iceberg",[["impl !<a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\"; 
title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" 
href=\"iceberg/enum.TableUpdate.html\" title=\"enum 
iceberg::TableUpdate\">TableUpdate</a>",1,["iceberg::catalog::TableUpdate"]],["impl
 !<a class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\"; 
title=\"trait core::marker::Freeze\">F [...]
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[43558,737,1084,387,738,797,1060,362,1247,381,384]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[43558,401,737,1084,387,738,797,1060,362,1247,381,384]}
\ No newline at end of file
diff --git a/api/trait.impl/core/marker/trait.Send.js 
b/api/trait.impl/core/marker/trait.Send.js
index 43091b92..e53b0620 100644
--- a/api/trait.impl/core/marker/trait.Send.js
+++ b/api/trait.impl/core/marker/trait.Send.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["iceberg",[["impl <a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\"; 
title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" 
href=\"iceberg/enum.ErrorKind.html\" title=\"enum 
iceberg::ErrorKind\">ErrorKind</a>",1,["iceberg::error::ErrorKind"]],["impl <a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\"; 
title=\"trait core::marker::Send\">Send</a> for <a class=\ [...]
+    var implementors = Object.fromEntries([["iceberg",[["impl <a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\"; 
title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" 
href=\"iceberg/enum.ErrorKind.html\" title=\"enum 
iceberg::ErrorKind\">ErrorKind</a>",1,["iceberg::error::ErrorKind"]],["impl <a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\"; 
title=\"trait core::marker::Send\">Send</a> for <a class=\ [...]
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[41021,725,1066,380,725,785,1042,356,1229,375,378]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[41021,395,725,1066,380,725,785,1042,356,1229,375,378]}
\ No newline at end of file
diff --git a/api/trait.impl/core/marker/trait.Sync.js 
b/api/trait.impl/core/marker/trait.Sync.js
index d25001cd..be9f9aca 100644
--- a/api/trait.impl/core/marker/trait.Sync.js
+++ b/api/trait.impl/core/marker/trait.Sync.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["iceberg",[["impl !<a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\"; 
title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" 
href=\"iceberg/puffin/struct.PuffinWriter.html\" title=\"struct 
iceberg::puffin::PuffinWriter\">PuffinWriter</a>",1,["iceberg::puffin::writer::PuffinWriter"]],["impl
 !<a class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\"; 
title=\"trait  [...]
+    var implementors = Object.fromEntries([["iceberg",[["impl !<a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\"; 
title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" 
href=\"iceberg/puffin/struct.PuffinWriter.html\" title=\"struct 
iceberg::puffin::PuffinWriter\">PuffinWriter</a>",1,["iceberg::puffin::writer::PuffinWriter"]],["impl
 !<a class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\"; 
title=\"trait  [...]
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[42944,725,1066,380,725,785,1042,356,1229,375,378]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[42944,395,725,1066,380,725,785,1042,356,1229,375,378]}
\ No newline at end of file
diff --git a/api/trait.impl/core/marker/trait.Unpin.js 
b/api/trait.impl/core/marker/trait.Unpin.js
index 218fe00e..f7a30c81 100644
--- a/api/trait.impl/core/marker/trait.Unpin.js
+++ b/api/trait.impl/core/marker/trait.Unpin.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["iceberg",[["impl <a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\"; 
title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" 
href=\"iceberg/enum.ErrorKind.html\" title=\"enum 
iceberg::ErrorKind\">ErrorKind</a>",1,["iceberg::error::ErrorKind"]],["impl <a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\"; 
title=\"trait core::marker::Unpin\">Unpin</a> for <a c [...]
+    var implementors = Object.fromEntries([["iceberg",[["impl <a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\"; 
title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" 
href=\"iceberg/enum.ErrorKind.html\" title=\"enum 
iceberg::ErrorKind\">ErrorKind</a>",1,["iceberg::error::ErrorKind"]],["impl <a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\"; 
title=\"trait core::marker::Unpin\">Unpin</a> for <a c [...]
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[42979,731,1075,383,731,791,1051,359,1238,378,381]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[42979,398,731,1075,383,731,791,1051,359,1238,378,381]}
\ No newline at end of file
diff --git a/api/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js 
b/api/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js
index 56084582..ed987a61 100644
--- a/api/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js
+++ b/api/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["iceberg",[["impl !<a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\";
 title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for 
<a class=\"struct\" href=\"iceberg/arrow/struct.ArrowReader.html\" 
title=\"struct 
iceberg::arrow::ArrowReader\">ArrowReader</a>",1,["iceberg::arrow::reader::ArrowReader"]],["impl
 !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/c [...]
+    var implementors = Object.fromEntries([["iceberg",[["impl !<a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\";
 title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for 
<a class=\"struct\" href=\"iceberg/arrow/struct.ArrowReader.html\" 
title=\"struct 
iceberg::arrow::ArrowReader\">ArrowReader</a>",1,["iceberg::arrow::reader::ArrowReader"]],["impl
 !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/c [...]
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[49095,826,1217,431,827,886,1194,407,1381,426,428]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[49095,446,826,1217,431,827,886,1194,407,1381,426,428]}
\ No newline at end of file
diff --git a/api/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js 
b/api/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js
index bf76f6a5..055955c8 100644
--- a/api/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js
+++ b/api/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["iceberg",[["impl !<a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\";
 title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a 
class=\"struct\" href=\"iceberg/arrow/struct.ArrowReader.html\" title=\"struct 
iceberg::arrow::ArrowReader\">ArrowReader</a>",1,["iceberg::arrow::reader::ArrowReader"]],["impl
 !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic [...]
+    var implementors = Object.fromEntries([["iceberg",[["impl !<a 
class=\"trait\" 
href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\";
 title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a 
class=\"struct\" href=\"iceberg/arrow/struct.ArrowReader.html\" title=\"struct 
iceberg::arrow::ArrowReader\">ArrowReader</a>",1,["iceberg::arrow::reader::ArrowReader"]],["impl
 !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic [...]
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[47934,808,1190,422,809,868,1167,398,1354,417,419]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[47934,437,808,1190,422,809,868,1167,398,1354,417,419]}
\ No newline at end of file
diff --git a/api/trait.impl/iceberg/cache/trait.ObjectCacheProvide.js 
b/api/trait.impl/iceberg/cache/trait.ObjectCacheProvide.js
new file mode 100644
index 00000000..fc8c5f98
--- /dev/null
+++ b/api/trait.impl/iceberg/cache/trait.ObjectCacheProvide.js
@@ -0,0 +1,9 @@
+(function() {
+    var implementors = Object.fromEntries([["iceberg_cache_moka",[["impl 
ObjectCacheProvide for <a class=\"struct\" 
href=\"iceberg_cache_moka/struct.MokaObjectCacheProvider.html\" title=\"struct 
iceberg_cache_moka::MokaObjectCacheProvider\">MokaObjectCacheProvider</a>"]]]]);
+    if (window.register_implementors) {
+        window.register_implementors(implementors);
+    } else {
+        window.pending_implementors = implementors;
+    }
+})()
+//{"start":57,"fragment_lengths":[229]}
\ No newline at end of file


Reply via email to