This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new b76291e37 deploy: 6f2231353f92dbffea7d5fd9c93db2641c7ffc41
b76291e37 is described below

commit b76291e3797b3854b29378bd9861c9a86c39a685
Author: tustvold <[email protected]>
AuthorDate: Mon Jul 10 15:14:21 2023 +0000

    deploy: 6f2231353f92dbffea7d5fd9c93db2641c7ffc41
---
 parquet/arrow/async_writer/index.html              |  2 +-
 .../async_writer/struct.AsyncArrowWriter.html      | 19 ++++++++------
 .../arrow/async_writer/struct.SharedBuffer.html    |  4 +--
 search-index.js                                    |  2 +-
 src/parquet/arrow/async_writer/mod.rs.html         | 30 ++++++++++++++++++----
 5 files changed, 40 insertions(+), 17 deletions(-)

diff --git a/parquet/arrow/async_writer/index.html 
b/parquet/arrow/async_writer/index.html
index b9b48a761..7ecc6a46d 100644
--- a/parquet/arrow/async_writer/index.html
+++ b/parquet/arrow/async_writer/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Contains 
async writer which writes arrow data into parquet 
data."><title>parquet::arrow::async_writer - Rust</title><link rel="preload" 
as="font" type="font/woff2" crossorigin 
href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link
 rel="preload" as="font" type= [...]
+<!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="Contains 
async writer which writes arrow data into parquet 
data."><title>parquet::arrow::async_writer - Rust</title><link rel="preload" 
as="font" type="font/woff2" crossorigin 
href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link
 rel="preload" as="font" type= [...]
 <p>Provides <code>async</code> API for writing <a 
href="../../../arrow_array/record_batch/struct.RecordBatch.html" title="struct 
arrow_array::record_batch::RecordBatch"><code>RecordBatch</code></a>es as 
parquet files. The API is
 similar to the <a href="../arrow_writer/struct.ArrowWriter.html" title="struct 
parquet::arrow::arrow_writer::ArrowWriter"><code>sync</code> API</a>, so please
 read the documentation there before using this API.</p>
diff --git a/parquet/arrow/async_writer/struct.AsyncArrowWriter.html 
b/parquet/arrow/async_writer/struct.AsyncArrowWriter.html
index 7dc202ddb..b0b74d94a 100644
--- a/parquet/arrow/async_writer/struct.AsyncArrowWriter.html
+++ b/parquet/arrow/async_writer/struct.AsyncArrowWriter.html
@@ -1,7 +1,8 @@
-<!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="Async 
arrow writer."><title>AsyncArrowWriter in parquet::arrow::async_writer - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link
 rel="preload" as="font" type="font/woff2" crossorigin  [...]
+<!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="Async 
arrow writer."><title>AsyncArrowWriter in parquet::arrow::async_writer - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link
 rel="preload" as="font" type="font/woff2" crossorigin  [...]
     sync_writer: <a class="struct" 
href="../arrow_writer/struct.ArrowWriter.html" title="struct 
parquet::arrow::arrow_writer::ArrowWriter">ArrowWriter</a>&lt;<a class="struct" 
href="struct.SharedBuffer.html" title="struct 
parquet::arrow::async_writer::SharedBuffer">SharedBuffer</a>&gt;,
     async_writer: W,
     shared_buffer: <a class="struct" href="struct.SharedBuffer.html" 
title="struct parquet::arrow::async_writer::SharedBuffer">SharedBuffer</a>,
+    buffer_size: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.usize.html";>usize</a>,
 }</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p>Async arrow writer.</p>
 <p>It is implemented based on the sync writer <a 
href="../arrow_writer/struct.ArrowWriter.html" title="struct 
parquet::arrow::arrow_writer::ArrowWriter"><code>ArrowWriter</code></a> with an 
inner buffer.
 The buffered data will be flushed to the writer provided by caller when the
@@ -9,27 +10,29 @@ buffer’s threshold is exceeded.</p>
 </div></details><h2 id="fields" class="fields small-section-header">Fields<a 
href="#fields" class="anchor">§</a></h2><span id="structfield.sync_writer" 
class="structfield small-section-header"><a href="#structfield.sync_writer" 
class="anchor field">§</a><code>sync_writer: <a class="struct" 
href="../arrow_writer/struct.ArrowWriter.html" title="struct 
parquet::arrow::arrow_writer::ArrowWriter">ArrowWriter</a>&lt;<a class="struct" 
href="struct.SharedBuffer.html" title="struct parquet::arrow [...]
 </div><span id="structfield.async_writer" class="structfield 
small-section-header"><a href="#structfield.async_writer" class="anchor 
field">§</a><code>async_writer: W</code></span><div class="docblock"><p>Async 
writer provided by caller</p>
 </div><span id="structfield.shared_buffer" class="structfield 
small-section-header"><a href="#structfield.shared_buffer" class="anchor 
field">§</a><code>shared_buffer: <a class="struct" 
href="struct.SharedBuffer.html" title="struct 
parquet::arrow::async_writer::SharedBuffer">SharedBuffer</a></code></span><div 
class="docblock"><p>The inner buffer shared by the <code>sync_writer</code> and 
the <code>async_writer</code></p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a 
href="#implementations" class="anchor">§</a></h2><div 
id="implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-AsyncArrowWriter%3CW%3E" class="impl"><a 
class="srclink rightside" 
href="../../../src/parquet/arrow/async_writer/mod.rs.html#82-165">source</a><a 
href="#impl-AsyncArrowWriter%3CW%3E" class="anchor">§</a><h3 
class="code-header">impl&lt;W: AsyncWrite + <a clas [...]
+</div><span id="structfield.buffer_size" class="structfield 
small-section-header"><a href="#structfield.buffer_size" class="anchor 
field">§</a><code>buffer_size: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.usize.html";>usize</a></code></span><div
 class="docblock"><p>Trigger forced flushing once buffer size reaches this 
value</p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a 
href="#implementations" class="anchor">§</a></h2><div 
id="implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-AsyncArrowWriter%3CW%3E" class="impl"><a 
class="srclink rightside" 
href="../../../src/parquet/arrow/async_writer/mod.rs.html#85-175">source</a><a 
href="#impl-AsyncArrowWriter%3CW%3E" class="anchor">§</a><h3 
class="code-header">impl&lt;W: AsyncWrite + <a clas [...]
     writer: W,
     arrow_schema: <a class="type" 
href="../../../arrow_schema/schema/type.SchemaRef.html" title="type 
arrow_schema::schema::SchemaRef">SchemaRef</a>,
     buffer_size: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.usize.html";>usize</a>,
     props: <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"; 
title="enum core::option::Option">Option</a>&lt;<a class="struct" 
href="../../file/properties/struct.WriterProperties.html" title="struct 
parquet::file::properties::WriterProperties">WriterProperties</a>&gt;
 ) -&gt; <a class="type" href="../../errors/type.Result.html" title="type 
parquet::errors::Result">Result</a>&lt;Self&gt;</h4></section></summary><div 
class="docblock"><p>Try to create a new Async Arrow Writer.</p>
-<p><code>buffer_size</code> determines the initial size of the intermediate 
buffer.</p>
+<p><code>buffer_size</code> determines the number of bytes to buffer before 
flushing
+to the underlying [<code>AsyncWrite</code>]</p>
 <p>The intermediate buffer will automatically be resized if necessary</p>
 <p><a href="struct.AsyncArrowWriter.html#method.write" title="method 
parquet::arrow::async_writer::AsyncArrowWriter::write"><code>Self::write</code></a>
 will flush this intermediate buffer if it is at least
 half full</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.write" class="method"><a class="srclink rightside" 
href="../../../src/parquet/arrow/async_writer/mod.rs.html#112-115">source</a><h4
 class="code-header">pub async fn <a href="#method.write" 
class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" 
href="../../../arrow_array/record_batch/struct.RecordBatch.html" title="struct 
arrow_array::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a clas [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.write" class="method"><a class="srclink rightside" 
href="../../../src/parquet/arrow/async_writer/mod.rs.html#117-125">source</a><h4
 class="code-header">pub async fn <a href="#method.write" 
class="fn">write</a>(&amp;mut self, batch: &amp;<a class="struct" 
href="../../../arrow_array/record_batch/struct.RecordBatch.html" title="struct 
arrow_array::record_batch::RecordBatch">RecordBatch</a>) -&gt; <a clas [...]
 <p>After every sync write by the inner <a 
href="../arrow_writer/struct.ArrowWriter.html" title="struct 
parquet::arrow::arrow_writer::ArrowWriter">ArrowWriter</a>, the inner buffer 
will be
 checked and flush if at least half full</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.append_key_value_metadata" class="method"><a class="srclink 
rightside" 
href="../../../src/parquet/arrow/async_writer/mod.rs.html#120-122">source</a><h4
 class="code-header">pub fn <a href="#method.append_key_value_metadata" 
class="fn">append_key_value_metadata</a>(&amp;mut self, kv_metadata: <a 
class="struct" href="../../format/struct.KeyValue.html" title="struct 
parquet::format::KeyValue">KeyValue</a> [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.append_key_value_metadata" class="method"><a class="srclink 
rightside" 
href="../../../src/parquet/arrow/async_writer/mod.rs.html#130-132">source</a><h4
 class="code-header">pub fn <a href="#method.append_key_value_metadata" 
class="fn">append_key_value_metadata</a>(&amp;mut self, kv_metadata: <a 
class="struct" href="../../format/struct.KeyValue.html" title="struct 
parquet::format::KeyValue">KeyValue</a> [...]
 <p>This method allows to append metadata after <a 
href="../../../arrow_array/record_batch/struct.RecordBatch.html" title="struct 
arrow_array::record_batch::RecordBatch"><code>RecordBatch</code></a>es are 
written.</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.close" class="method"><a class="srclink rightside" 
href="../../../src/parquet/arrow/async_writer/mod.rs.html#127-135">source</a><h4
 class="code-header">pub async fn <a href="#method.close" 
class="fn">close</a>(self) -&gt; <a class="type" 
href="../../errors/type.Result.html" title="type 
parquet::errors::Result">Result</a>&lt;<a class="struct" 
href="../../format/struct.FileMetaData.html" title="struct p [...]
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.close" class="method"><a class="srclink rightside" 
href="../../../src/parquet/arrow/async_writer/mod.rs.html#137-145">source</a><h4
 class="code-header">pub async fn <a href="#method.close" 
class="fn">close</a>(self) -&gt; <a class="type" 
href="../../errors/type.Result.html" title="type 
parquet::errors::Result">Result</a>&lt;<a class="struct" 
href="../../format/struct.FileMetaData.html" title="struct p [...]
 <p>All the data in the inner buffer will be force flushed.</p>
-</div></details><details class="toggle method-toggle" open><summary><section 
id="method.try_flush" class="method"><a class="srclink rightside" 
href="../../../src/parquet/arrow/async_writer/mod.rs.html#139-164">source</a><h4
 class="code-header">async fn <a href="#method.try_flush" 
class="fn">try_flush</a>(
+</div></details><details class="toggle method-toggle" open><summary><section 
id="method.try_flush" class="method"><a class="srclink rightside" 
href="../../../src/parquet/arrow/async_writer/mod.rs.html#149-174">source</a><h4
 class="code-header">async fn <a href="#method.try_flush" 
class="fn">try_flush</a>(
     shared_buffer: &amp;mut <a class="struct" href="struct.SharedBuffer.html" 
title="struct parquet::arrow::async_writer::SharedBuffer">SharedBuffer</a>,
     async_writer: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.reference.html";>&amp;mut 
W</a>,
-    force: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a>
+    buffer_size: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.usize.html";>usize</a>
 ) -&gt; <a class="type" href="../../errors/type.Result.html" title="type 
parquet::errors::Result">Result</a>&lt;<a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.unit.html";>()</a>&gt;</h4></section></summary><div
 class="docblock"><p>Flush the data in the <a href="struct.SharedBuffer.html" 
title="struct 
parquet::arrow::async_writer::SharedBuffer"><code>SharedBuffer</code></a> into 
the <code>async_writer</code> if its size
 exceeds the threshold.</p>
 </div></details></div></details></div><h2 id="synthetic-implementations" 
class="small-section-header">Auto Trait Implementations<a 
href="#synthetic-implementations" class="anchor">§</a></h2><div 
id="synthetic-implementations-list"><section 
id="impl-RefUnwindSafe-for-AsyncArrowWriter%3CW%3E" class="impl"><a 
href="#impl-RefUnwindSafe-for-AsyncArrowWriter%3CW%3E" class="anchor">§</a><h3 
class="code-header">impl&lt;W&gt; !<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/panic/un [...]
diff --git a/parquet/arrow/async_writer/struct.SharedBuffer.html 
b/parquet/arrow/async_writer/struct.SharedBuffer.html
index 8503877bf..2adbb8980 100644
--- a/parquet/arrow/async_writer/struct.SharedBuffer.html
+++ b/parquet/arrow/async_writer/struct.SharedBuffer.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="A buffer 
with interior mutability shared by the `ArrowWriter` and 
`AsyncArrowWriter`."><title>SharedBuffer in parquet::arrow::async_writer - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2 
[...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="A buffer 
with interior mutability shared by the `ArrowWriter` and 
`AsyncArrowWriter`."><title>SharedBuffer in parquet::arrow::async_writer - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2 
[...]
     buffer: <a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html"; 
title="struct alloc::sync::Arc">Arc</a>&lt;Mutex&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html"; 
title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.u8.html";>u8</a>&gt;&gt;&gt;,
 }</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p>A buffer with interior mutability shared by the <a 
href="../arrow_writer/struct.ArrowWriter.html" title="struct 
parquet::arrow::arrow_writer::ArrowWriter"><code>ArrowWriter</code></a> and
 <a href="struct.AsyncArrowWriter.html" title="struct 
parquet::arrow::async_writer::AsyncArrowWriter"><code>AsyncArrowWriter</code></a>.</p>
 </div></details><h2 id="fields" class="fields small-section-header">Fields<a 
href="#fields" class="anchor">§</a></h2><span id="structfield.buffer" 
class="structfield small-section-header"><a href="#structfield.buffer" 
class="anchor field">§</a><code>buffer: <a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html"; 
title="struct alloc::sync::Arc">Arc</a>&lt;Mutex&lt;<a class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html"; title="stru 
[...]
 <p>The lock is used to obtain internal mutability, so no worry about the
 lock contention.</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a 
href="#implementations" class="anchor">§</a></h2><div 
id="implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-SharedBuffer" class="impl"><a class="srclink 
rightside" 
href="../../../src/parquet/arrow/async_writer/mod.rs.html#178-184">source</a><a 
href="#impl-SharedBuffer" class="anchor">§</a><h3 class="code-header">impl <a 
class="struct" href="struct.SharedBuffer.htm [...]
+</div><h2 id="implementations" class="small-section-header">Implementations<a 
href="#implementations" class="anchor">§</a></h2><div 
id="implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-SharedBuffer" class="impl"><a class="srclink 
rightside" 
href="../../../src/parquet/arrow/async_writer/mod.rs.html#188-194">source</a><a 
href="#impl-SharedBuffer" class="anchor">§</a><h3 class="code-header">impl <a 
class="struct" href="struct.SharedBuffer.htm [...]
 contents reach their destination. <a 
href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html#tymethod.flush";>Read
 more</a></div></details><details class="toggle method-toggle" 
open><summary><section id="method.write_vectored" class="method 
trait-impl"><span class="rightside"><span class="since" title="Stable since 
Rust version 1.36.0">1.36.0</span> · <a class="srclink" 
href="https://doc.rust-lang.org/nightly/src/std/io/mod.rs.html#1495";>source</a></span><a
 href="#method.write_vec [...]
 implementation. <a 
href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html#method.is_write_vectored";>Read
 more</a></div></details><details class="toggle method-toggle" 
open><summary><section id="method.write_all" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="srclink" 
href="https://doc.rust-lang.org/nightly/src/std/io/mod.rs.html#1572";>source</a></span><a
 href="#method.write_all" class="anchor [...]
 encountered. <a 
href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html#method.write_fmt";>Read
 more</a></div></details><details class="toggle method-toggle" 
open><summary><section id="method.by_ref" class="method trait-impl"><span 
class="rightside"><span class="since" title="Stable since Rust version 
1.0.0">1.0.0</span> · <a class="srclink" 
href="https://doc.rust-lang.org/nightly/src/std/io/mod.rs.html#1749-1751";>source</a></span><a
 href="#method.by_ref" class="anchor">§</a><h4 c [...]
diff --git a/search-index.js b/search-index.js
index ad322064c..b723b5cee 100644
--- a/search-index.js
+++ b/search-index.js
@@ -23,7 +23,7 @@ var searchIndex = JSON.parse('{\
 
"flight_test_integration_client":{"doc":"","t":"DNGNGELLLLLLLLLLLLLLLLLLLLLLMLLLLFMMMLLLLLLLLLLLLL","n":["Args","AuthBasicProto","Error","Middleware","Result","Scenario","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","cast","cast","clone","clone_into","command","command_for_update","fmt","fmt","from","from","from_arg_matches","from_arg_matches_mut","from_cast","from_cast","from_ref","group_id","host","into","into","into_request","into_request","main"
 [...]
 
"flight_test_integration_server":{"doc":"","t":"DNGNGELLLLLLLLLLLLLLLLLLLLLLLLLLFMMLLLLLLLLLLLLL","n":["Args","AuthBasicProto","Error","Middleware","Result","Scenario","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","cast","cast","clone","clone_into","command","command_for_update","fmt","fmt","from","from","from_arg_matches","from_arg_matches_mut","from_cast","from_cast","from_ref","group_id","into","into","into_request","into_request","main","port","
 [...]
 
"gen":{"doc":"","t":"FF","n":["main","prost_config"],"q":[[0,"gen"]],"d":["",""],"i":[0,0],"f":[[[],[[3,[[2,[1]]]]]],[[],4]],"c":[],"p":[[8,"Error"],[3,"Box"],[4,"Result"],[3,"Config"]]},\
-"parquet":{"doc":"This crate contains the official Native Rust 
…","t":"AAAAAAOAAAARCCDCDLAFAAALLLLALLLLLLAMLLLLLLLLLLMMFFFALLLLLLLLLIDDDDGDIDDFMMMLLLLLLLLLLLLLKLKFMMAMLLLLLLLMLLLLMLMLLLLLLKMMLMKMMMMLLMMAMMMFMMLLLLLLLLLLLLLLLLLLLLLLLIDDLLLLLLKLMLLLLLLLLMKLMLLLLLLDDFLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLMLLMLLMLLLLLLLLLLDEDDDNDNGLMLLLLLLLLLLLLMMALLLLLLLLLLMLLLLLLLLLLLLLLLLLFFLFFLFFFLMLLLLLLLLLLMAMLLLLMLLLLLLLLLLLLLLLLLLLLLLFFLLFMMDDNNDDENLMLLLLLLLLLLLLLLLFLLMOOOFLLMLLLLLMLLLLLLLLLLLLLLLLLLLM
 [...]
+"parquet":{"doc":"This crate contains the official Native Rust 
…","t":"AAAAAAOAAAARCCDCDLAFAAALLLLALLLLLLAMLLLLLLLLLLMMFFFALLLLLLLLLIDDDDGDIDDFMMMLLLLLLLLLLLLLKLKFMMAMLLLLLLLMLLLLMLMLLLLLLKMMLMKMMMMLLMMAMMMFMMLLLLLLLLLLLLLLLLLLLLLLLIDDLLLLLLKLMLLLLLLLLMKLMLLLLLLDDFLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLMLLMLLMLLLLLLLLLLDEDDDNDNGLMLLLLLLLLLLLLMMALLLLLLLLLLMLLLLLLLLLLLLLLLLLFFLFFLFFFLMLLLLLLLLLLMAMLLLLMLLLLLLLLLLLLLLLLLLLLLLFFLLFMMDDNNDDENLMLLLLLLLLLLLLLLLFLLMOOOFLLMLLLLLMLLLLLLLLLLLLLLLLLLLM
 [...]
 "parquet_concat":{"doc":"Binary that concatenates the column data of one or 
more 
…","t":"DLLLLLLLLLLLLLMLFMLLLLLL","n":["Args","augment_args","augment_args_for_update","borrow","borrow_mut","cast","command","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","from_cast","group_id","input","into","main","output","run","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut"],"q":[[0,"parquet_concat"]],"d":["Concatenates
 one or more pa [...]
 
"parquet_derive":{"doc":"","t":"YANNNDNNNEENNNLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLMLLLLLLLLLMLLLLLLMLLLL","n":["ParquetRecordWriter","parquet_field","Array","ChronoNaiveDate","ChronoNaiveDateTime","Field","Option","Reference","Slice","ThirdPartyType","Type","TypePath","Uuid","Vec","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","column_writer","converted_type","copied_direct_vals","eq","eq","eq","fmt","fmt","fmt","from","from","from","from","from","from_type","from_type_array
 [...]
 
"parquet_derive_test":{"doc":"","t":"DMMMMLLMMMMMMLMMLLMMLMMMMMMMMMMMLLLM","n":["ACompleteRecord","a_bool","a_borrowed_string","a_str","a_string","borrow","borrow_mut","borrowed_byte_vec","borrowed_maybe_a_str","borrowed_maybe_a_string","borrowed_maybe_borrowed_byte_vec","borrowed_maybe_byte_vec","byte_vec","cast","double","float","from","from_cast","i16","i32","into","isize","maybe_a_str","maybe_a_string","maybe_byte_vec","maybe_double","maybe_float","maybe_i16","maybe_u32","maybe_u8","
 [...]
diff --git a/src/parquet/arrow/async_writer/mod.rs.html 
b/src/parquet/arrow/async_writer/mod.rs.html
index db4084cb9..0226237c1 100644
--- a/src/parquet/arrow/async_writer/mod.rs.html
+++ b/src/parquet/arrow/async_writer/mod.rs.html
@@ -365,6 +365,16 @@
 <a href="#365" id="365">365</a>
 <a href="#366" id="366">366</a>
 <a href="#367" id="367">367</a>
+<a href="#368" id="368">368</a>
+<a href="#369" id="369">369</a>
+<a href="#370" id="370">370</a>
+<a href="#371" id="371">371</a>
+<a href="#372" id="372">372</a>
+<a href="#373" id="373">373</a>
+<a href="#374" id="374">374</a>
+<a href="#375" id="375">375</a>
+<a href="#376" id="376">376</a>
+<a href="#377" id="377">377</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
@@ -444,12 +454,16 @@
 
     <span class="doccomment">/// The inner buffer shared by the `sync_writer` 
and the `async_writer`
     </span>shared_buffer: SharedBuffer,
+
+    <span class="doccomment">/// Trigger forced flushing once buffer size 
reaches this value
+    </span>buffer_size: usize,
 }
 
 <span class="kw">impl</span>&lt;W: AsyncWrite + Unpin + Send&gt; 
AsyncArrowWriter&lt;W&gt; {
     <span class="doccomment">/// Try to create a new Async Arrow Writer.
     ///
-    /// `buffer_size` determines the initial size of the intermediate buffer.
+    /// `buffer_size` determines the number of bytes to buffer before flushing
+    /// to the underlying [`AsyncWrite`]
     ///
     /// The intermediate buffer will automatically be resized if necessary
     ///
@@ -469,6 +483,7 @@
             sync_writer,
             async_writer: writer,
             shared_buffer,
+            buffer_size,
         })
     }
 
@@ -478,7 +493,12 @@
     /// checked and flush if at least half full
     </span><span class="kw">pub async fn </span>write(<span 
class="kw-2">&amp;mut </span><span class="self">self</span>, batch: <span 
class="kw-2">&amp;</span>RecordBatch) -&gt; <span 
class="prelude-ty">Result</span>&lt;()&gt; {
         <span class="self">self</span>.sync_writer.write(batch)<span 
class="question-mark">?</span>;
-        <span class="self">Self</span>::try_flush(<span class="kw-2">&amp;mut 
</span><span class="self">self</span>.shared_buffer, <span 
class="kw-2">&amp;mut </span><span class="self">self</span>.async_writer, <span 
class="bool-val">false</span>).<span class="kw">await
+        <span class="self">Self</span>::try_flush(
+            <span class="kw-2">&amp;mut </span><span 
class="self">self</span>.shared_buffer,
+            <span class="kw-2">&amp;mut </span><span 
class="self">self</span>.async_writer,
+            <span class="self">self</span>.buffer_size,
+        )
+        .<span class="kw">await
     </span>}
 
     <span class="doccomment">/// Append [`KeyValue`] metadata in addition to 
those in [`WriterProperties`]
@@ -495,7 +515,7 @@
         <span class="kw">let </span>metadata = <span 
class="self">self</span>.sync_writer.close()<span 
class="question-mark">?</span>;
 
         <span class="comment">// Force to flush the remaining data.
-        </span><span class="self">Self</span>::try_flush(<span 
class="kw-2">&amp;mut </span><span class="self">self</span>.shared_buffer, 
<span class="kw-2">&amp;mut </span><span class="self">self</span>.async_writer, 
<span class="bool-val">true</span>).<span class="kw">await</span><span 
class="question-mark">?</span>;
+        </span><span class="self">Self</span>::try_flush(<span 
class="kw-2">&amp;mut </span><span class="self">self</span>.shared_buffer, 
<span class="kw-2">&amp;mut </span><span class="self">self</span>.async_writer, 
<span class="number">0</span>).<span class="kw">await</span><span 
class="question-mark">?</span>;
         <span class="self">self</span>.async_writer.shutdown().<span 
class="kw">await</span><span class="question-mark">?</span>;
 
         <span class="prelude-val">Ok</span>(metadata)
@@ -506,10 +526,10 @@
     </span><span class="kw">async fn </span>try_flush(
         shared_buffer: <span class="kw-2">&amp;mut </span>SharedBuffer,
         async_writer: <span class="kw-2">&amp;mut </span>W,
-        force: bool,
+        buffer_size: usize,
     ) -&gt; <span class="prelude-ty">Result</span>&lt;()&gt; {
         <span class="kw">let </span><span class="kw-2">mut </span>buffer = 
shared_buffer.buffer.try_lock().unwrap();
-        <span class="kw">if </span>!force &amp;&amp; buffer.len() &lt; 
buffer.capacity() / <span class="number">2 </span>{
+        <span class="kw">if </span>buffer.is_empty() || buffer.len() &lt; 
buffer_size {
             <span class="comment">// no need to flush
             </span><span class="kw">return </span><span 
class="prelude-val">Ok</span>(());
         }

Reply via email to