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

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new 28a9b0a7 update documentation for tag main
28a9b0a7 is described below

commit 28a9b0a7fa6bb2f2fb4d6baf8426bb3c969f286d
Author: GitHub Actions <[email protected]>
AuthorDate: Wed Sep 9 17:15:08 2026 +0000

    update documentation for tag main
---
 main/.doctrees/environment.pickle    | Bin 1177132 -> 1200915 bytes
 main/.doctrees/reference/ipc.doctree | Bin 394793 -> 464836 bytes
 main/genindex.html                   |  26 +++++-
 main/objects.inv                     | Bin 23198 -> 23705 bytes
 main/r/pkgdown.yml                   |   2 +-
 main/reference/ipc.html              | 151 +++++++++++++++++++++++++++++++++++
 main/searchindex.js                  |   2 +-
 7 files changed, 175 insertions(+), 6 deletions(-)

diff --git a/main/.doctrees/environment.pickle 
b/main/.doctrees/environment.pickle
index dbcc6714..3a4f89a7 100644
Binary files a/main/.doctrees/environment.pickle and 
b/main/.doctrees/environment.pickle differ
diff --git a/main/.doctrees/reference/ipc.doctree 
b/main/.doctrees/reference/ipc.doctree
index 66d74fb4..e92b35c9 100644
Binary files a/main/.doctrees/reference/ipc.doctree and 
b/main/.doctrees/reference/ipc.doctree differ
diff --git a/main/genindex.html b/main/genindex.html
index fff37b0b..d640e915 100644
--- a/main/genindex.html
+++ b/main/genindex.html
@@ -781,14 +781,14 @@
 </li>
       <li><a 
href="reference/device.html#_CPPv4N16ArrowDeviceArray8reservedE">ArrowDeviceArray::reserved
 (C++ member)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a 
href="reference/device.html#_CPPv4N16ArrowDeviceArray10sync_eventE">ArrowDeviceArray::sync_event
 (C++ member)</a>
 </li>
       <li><a 
href="reference/device.html#_CPPv420ArrowDeviceArrayInitP11ArrowDeviceP16ArrowDeviceArrayP10ArrowArrayPv">ArrowDeviceArrayInit
 (C++ function)</a>
 </li>
       <li><a 
href="reference/device.html#_CPPv420ArrowDeviceArrayMoveP16ArrowDeviceArrayP16ArrowDeviceArray">ArrowDeviceArrayMove
 (C++ function)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a 
href="reference/device.html#_CPPv422ArrowDeviceArrayStream">ArrowDeviceArrayStream
 (C++ struct)</a>
 </li>
       <li><a 
href="reference/device.html#_CPPv4N22ArrowDeviceArrayStream11device_typeE">ArrowDeviceArrayStream::device_type
 (C++ member)</a>
@@ -850,6 +850,8 @@
       <li><a 
href="reference/ipc.html#_CPPv4N32ArrowIpcArrayStreamReaderOptions11field_indexE">ArrowIpcArrayStreamReaderOptions::field_index
 (C++ member)</a>
 </li>
       <li><a 
href="reference/ipc.html#_CPPv4N32ArrowIpcArrayStreamReaderOptions18use_shared_buffersE">ArrowIpcArrayStreamReaderOptions::use_shared_buffers
 (C++ member)</a>
+</li>
+      <li><a 
href="reference/ipc.html#_CPPv424ArrowIpcCompressFunction">ArrowIpcCompressFunction
 (C++ type)</a>
 </li>
       <li><a 
href="reference/ipc.html#_CPPv423ArrowIpcCompressionType">ArrowIpcCompressionType
 (C++ enum)</a>
 </li>
@@ -858,6 +860,18 @@
       <li><a 
href="reference/ipc.html#_CPPv4N23ArrowIpcCompressionType35NANOARROW_IPC_COMPRESSION_TYPE_NONEE">ArrowIpcCompressionType::NANOARROW_IPC_COMPRESSION_TYPE_NONE
 (C++ enumerator)</a>
 </li>
       <li><a 
href="reference/ipc.html#_CPPv4N23ArrowIpcCompressionType35NANOARROW_IPC_COMPRESSION_TYPE_ZSTDE">ArrowIpcCompressionType::NANOARROW_IPC_COMPRESSION_TYPE_ZSTD
 (C++ enumerator)</a>
+</li>
+      <li><a 
href="reference/ipc.html#_CPPv418ArrowIpcCompressor">ArrowIpcCompressor (C++ 
struct)</a>
+</li>
+      <li><a 
href="reference/ipc.html#_CPPv4N18ArrowIpcCompressor12compress_addE">ArrowIpcCompressor::compress_add
 (C++ member)</a>
+</li>
+      <li><a 
href="reference/ipc.html#_CPPv4N18ArrowIpcCompressor13compress_waitE">ArrowIpcCompressor::compress_wait
 (C++ member)</a>
+</li>
+      <li><a 
href="reference/ipc.html#_CPPv4N18ArrowIpcCompressor16compression_typeE">ArrowIpcCompressor::compression_type
 (C++ member)</a>
+</li>
+      <li><a 
href="reference/ipc.html#_CPPv4N18ArrowIpcCompressor12private_dataE">ArrowIpcCompressor::private_data
 (C++ member)</a>
+</li>
+      <li><a 
href="reference/ipc.html#_CPPv4N18ArrowIpcCompressor7releaseE">ArrowIpcCompressor::release
 (C++ member)</a>
 </li>
       <li><a href="reference/ipc.html#_CPPv415ArrowIpcDecoder">ArrowIpcDecoder 
(C++ struct)</a>
 </li>
@@ -1558,6 +1572,8 @@
       <li><a 
href="reference/testing.html#_CPPv4N9nanoarrow7testing17TestingJSONWriter9WriteTypeERNSt7ostreamEPK11ArrowSchema">nanoarrow::testing::TestingJSONWriter::WriteType
 (C++ function)</a>
 </li>
       <li><a 
href="reference/c.html#c.NANOARROW_FLAG_ALL_SUPPORTED">NANOARROW_FLAG_ALL_SUPPORTED
 (C macro)</a>
+</li>
+      <li><a 
href="reference/ipc.html#c.NANOARROW_IPC_COMPRESSION_LEVEL_DEFAULT">NANOARROW_IPC_COMPRESSION_LEVEL_DEFAULT
 (C macro)</a>
 </li>
       <li><a 
href="reference/ipc.html#c.NANOARROW_IPC_FEATURE_COMPRESSED_BODY">NANOARROW_IPC_FEATURE_COMPRESSED_BODY
 (C macro)</a>
 </li>
@@ -1696,15 +1712,17 @@
       <li><a href="reference/cpp.html#_CPPv412UniqueBitmap">UniqueBitmap (C++ 
type)</a>
 </li>
       <li><a href="reference/cpp.html#_CPPv412UniqueBuffer">UniqueBuffer (C++ 
type)</a>
+</li>
+      <li><a 
href="reference/ipc.html#_CPPv416UniqueCompressor">UniqueCompressor (C++ 
type)</a>
 </li>
       <li><a href="reference/ipc.html#_CPPv413UniqueDecoder">UniqueDecoder 
(C++ type)</a>
 </li>
       <li><a 
href="reference/ipc.html#_CPPv418UniqueDecompressor">UniqueDecompressor (C++ 
type)</a>
-</li>
-      <li><a href="reference/device.html#_CPPv412UniqueDevice">UniqueDevice 
(C++ type)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/device.html#_CPPv412UniqueDevice">UniqueDevice 
(C++ type)</a>
+</li>
       <li><a 
href="reference/device.html#_CPPv417UniqueDeviceArray">UniqueDeviceArray (C++ 
type)</a>
 </li>
       <li><a 
href="reference/device.html#_CPPv423UniqueDeviceArrayStream">UniqueDeviceArrayStream
 (C++ type)</a>
diff --git a/main/objects.inv b/main/objects.inv
index 0f77609c..7b3ebfc9 100644
Binary files a/main/objects.inv and b/main/objects.inv differ
diff --git a/main/r/pkgdown.yml b/main/r/pkgdown.yml
index ac863aba..c76ff457 100644
--- a/main/r/pkgdown.yml
+++ b/main/r/pkgdown.yml
@@ -2,4 +2,4 @@ pandoc: 3.7.0.2
 pkgdown: 2.2.1
 pkgdown_sha: ~
 articles: {}
-last_built: 2026-09-08T17:39Z
+last_built: 2026-09-09T17:14Z
diff --git a/main/reference/ipc.html b/main/reference/ipc.html
index dd3c3efe..7cea820a 100644
--- a/main/reference/ipc.html
+++ b/main/reference/ipc.html
@@ -426,6 +426,12 @@
 <dd><p>Feature flag for a stream that uses compression. </p>
 </dd></dl>
 
+<dl class="cpp macro">
+<dt class="sig sig-object cpp" id="c.NANOARROW_IPC_COMPRESSION_LEVEL_DEFAULT">
+<span class="target" 
id="group__nanoarrow__ipc_1gacd4e74068dc87412ce1f337c18ba7072"></span><span 
class="sig-name descname"><span class="n"><span 
class="pre">NANOARROW_IPC_COMPRESSION_LEVEL_DEFAULT</span></span></span><a 
class="headerlink" href="#c.NANOARROW_IPC_COMPRESSION_LEVEL_DEFAULT" 
title="Link to this definition">#</a><br /></dt>
+<dd><p>Compression level that selects the codec’s default level. </p>
+</dd></dl>
+
 </div>
 <div class="breathe-sectiondef docutils container">
 <p class="breathe-sectiondef-title rubric" 
id="breathe-section-title-typedefs">Typedefs</p>
@@ -436,6 +442,14 @@
 <p>For the most common compression type, ZSTD, this function is sufficient to 
capture the type of decompression that Arrow IPC requires (i.e., decompression 
where the uncompressed size was recorded). For other compression types, it may 
be more efficient to implement a full <a class="reference internal" 
href="#struct_arrow_ipc_decompressor"><span class="std 
std-ref">ArrowIpcDecompressor</span></a>, which allows for persistent 
state/allocations between decodes. </p>
 </dd></dl>
 
+<dl class="cpp type">
+<dt class="sig sig-object cpp" id="_CPPv424ArrowIpcCompressFunction">
+<span id="_CPPv324ArrowIpcCompressFunction"></span><span 
id="_CPPv224ArrowIpcCompressFunction"></span><span 
id="ArrowIpcCompressFunction"></span><span class="target" 
id="group__nanoarrow__ipc_1gad314b87b13d74a62085aa517154c20ac"></span><span 
class="k"><span class="pre">typedef</span></span><span class="w"> </span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n"><span 
class="pre">ArrowErrorCode</span></span></a><span class="w"> </sp [...]
+<dd><p>A self-contained compression function. </p>
+<p>Compresses src at compression_level and appends the compressed bytes to 
dst. Because the compressed size is not known in advance, implementations are 
responsible for reserving sufficient space in dst (e.g., using the compression 
library’s bound function) and must only append to dst.</p>
+<p>The interpretation of compression_level is codec-specific: 
NANOARROW_IPC_COMPRESSION_LEVEL_DEFAULT selects the codec’s default level and 
other values follow the underlying library’s conventions (see <a 
class="reference internal" 
href="#group__nanoarrow__ipc_1gaa10eebc627e9789d3ec6d31c5f439100"><span 
class="std std-ref">ArrowIpcGetCompressionLevelRange()</span></a>). <a 
class="reference internal" 
href="#group__nanoarrow__ipc_1ga5cdd97b8957f58f661f7a35f77e26035"><span 
class="std std-ref [...]
+</dd></dl>
+
 <dl class="cpp type">
 <dt class="sig sig-object cpp" id="_CPPv429ArrowIpcMetadataVisitFunction">
 <span id="_CPPv329ArrowIpcMetadataVisitFunction"></span><span 
id="_CPPv229ArrowIpcMetadataVisitFunction"></span><span 
id="ArrowIpcMetadataVisitFunction"></span><span class="target" 
id="group__nanoarrow__ipc_1gab53643878475bfbee2e34a5f11c84034"></span><span 
class="k"><span class="pre">typedef</span></span><span class="w"> </span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n"><span 
class="pre">ArrowErrorCode</span></span></a><span  [...]
@@ -684,6 +698,55 @@
 <p>This may be used to inject support for a particular type of decompression 
if used with a version of nanoarrow with unknown or minimal capabilities. </p>
 </dd></dl>
 
+<dl class="cpp function">
+<dt class="sig sig-object cpp">
+<span class="target" 
id="group__nanoarrow__ipc_1ga0d91d7e299290e32b679ed9dea08e4af"></span><span 
class="sig-name descname"><span class="pre">NANOARROW_DLL</span> <span 
class="pre">ArrowIpcCompressFunction</span> <span 
class="pre">ArrowIpcGetZstdCompressionFunction</span> <span 
class="pre">(void)</span></span></dt>
+<dd><p>Get the compression function for ZSTD. </p>
+<p>The result will be NULL if nanoarrow was not built with 
NANOARROW_IPC_WITH_ZSTD. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp">
+<span class="target" 
id="group__nanoarrow__ipc_1ga8164a2df51d6963dc5f0b778842598a8"></span><span 
class="sig-name descname"><span class="pre">NANOARROW_DLL</span> <span 
class="pre">ArrowIpcCompressFunction</span> <span 
class="pre">ArrowIpcGetLZ4CompressionFunction</span> <span 
class="pre">(void)</span></span></dt>
+<dd><p>Get the compression function for LZ4. </p>
+<p>The result will be NULL if nanoarrow was not built with 
NANOARROW_IPC_WITH_LZ4. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp">
+<span class="target" 
id="group__nanoarrow__ipc_1gac65aabe05ccb72cc846613c7e921e644"></span><span 
class="sig-name descname"><span class="pre">NANOARROW_DLL</span> <span 
class="pre">ArrowErrorCode</span> <span 
class="pre">ArrowIpcSerialCompressor</span> <span class="pre">(struct</span> 
<span class="pre">ArrowIpcCompressor</span> <span 
class="pre">*compressor,</span> <span class="pre">enum</span> <span 
class="pre">ArrowIpcCompressionType</span> <span 
class="pre">compression_type,</span> <sp [...]
+<dd><p>An <a class="reference internal" 
href="#struct_arrow_ipc_compressor"><span class="std 
std-ref">ArrowIpcCompressor</span></a> implementation that performs compression 
in serial. </p>
+<p>The compressor compresses with compression_type at compression_level (see 
<a class="reference internal" 
href="#group__nanoarrow__ipc_1gad314b87b13d74a62085aa517154c20ac"><span 
class="std std-ref">ArrowIpcCompressFunction</span></a> for the interpretation 
of the level). Returns EINVAL if compression_type is not a valid compression 
type; whether it is supported by this build of nanoarrow is not checked until a 
buffer is compressed. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp">
+<span class="target" 
id="group__nanoarrow__ipc_1gac4ae18c3396a5449d60f105f876d1343"></span><span 
class="sig-name descname"><span class="pre">NANOARROW_DLL</span> <span 
class="pre">ArrowErrorCode</span> <span 
class="pre">ArrowIpcSerialCompressorSetFunction</span> <span 
class="pre">(struct</span> <span class="pre">ArrowIpcCompressor</span> <span 
class="pre">*compressor,</span> <span class="pre">enum</span> <span 
class="pre">ArrowIpcCompressionType</span> <span class="pre">compression_type, 
[...]
+<dd><p>Override the <a class="reference internal" 
href="#group__nanoarrow__ipc_1gad314b87b13d74a62085aa517154c20ac"><span 
class="std std-ref">ArrowIpcCompressFunction</span></a> used for a specific 
compression type. </p>
+<p>This may be used to inject support for a particular type of compression if 
used with a version of nanoarrow with unknown or minimal capabilities. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp">
+<span class="target" 
id="group__nanoarrow__ipc_1ga5063b571a0d3bead8119edffffbf06fa"></span><span 
class="sig-name descname"><span class="pre">NANOARROW_DLL</span> <span 
class="pre">const</span> <span class="pre">char</span> <span 
class="pre">*</span> <span class="pre">ArrowIpcCompressionTypeToString</span> 
<span class="pre">(enum</span> <span class="pre">ArrowIpcCompressionType</span> 
<span class="pre">compression_type)</span></span></dt>
+<dd><p>Get the name of a compression type. </p>
+<p>Returns “none”, “lz4”, or “zstd”, or “&lt;unknown compression type&gt;” for 
an unknown compression type (never NULL, so the result is safe to use in a 
format string). </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp">
+<span class="target" 
id="group__nanoarrow__ipc_1ga51c00eb81041b9e10b1eb535d8c7d7d5"></span><span 
class="sig-name descname"><span class="pre">NANOARROW_DLL</span> <span 
class="pre">ArrowErrorCode</span> <span 
class="pre">ArrowIpcCompressionTypeFromString</span> <span 
class="pre">(const</span> <span class="pre">char</span> <span 
class="pre">*name,</span> <span class="pre">enum</span> <span 
class="pre">ArrowIpcCompressionType</span> <span 
class="pre">*compression_type_out,</span> <span clas [...]
+<dd><p>Look up a compression type by name. </p>
+<p>Accepts exactly the names returned by <a class="reference internal" 
href="#group__nanoarrow__ipc_1ga5063b571a0d3bead8119edffffbf06fa"><span 
class="std std-ref">ArrowIpcCompressionTypeToString()</span></a>. Returns 
EINVAL (with an error message listing the accepted names) if name is not one of 
them. </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp">
+<span class="target" 
id="group__nanoarrow__ipc_1gaa10eebc627e9789d3ec6d31c5f439100"></span><span 
class="sig-name descname"><span class="pre">NANOARROW_DLL</span> <span 
class="pre">ArrowErrorCode</span> <span 
class="pre">ArrowIpcGetCompressionLevelRange</span> <span 
class="pre">(enum</span> <span class="pre">ArrowIpcCompressionType</span> <span 
class="pre">compression_type,</span> <span class="pre">int</span> <span 
class="pre">*min_level_out,</span> <span class="pre">int</span> <span clas [...]
+<dd><p>Get the range of compression levels accepted by a codec. </p>
+<p>The range is inclusive and always contains 
NANOARROW_IPC_COMPRESSION_LEVEL_DEFAULT. For ZSTD it is ZSTD_minCLevel() to 
ZSTD_maxCLevel(), where negative levels favour speed; for LZ4 it is -65536 to 
LZ4F_compressionLevel_max(), where levels &gt;= 3 use LZ4HC and negative levels 
select an acceleration of 1 - level. Returns ENOTSUP if the codec is not 
supported by this build of nanoarrow and EINVAL if compression_type is not a 
codec (including NANOARROW_IPC_COMPRESSION_TYPE_NONE). </p>
+</dd></dl>
+
 <dl class="cpp function">
 <dt class="sig sig-object cpp">
 <span class="target" 
id="group__nanoarrow__ipc_1ga4eabbe9d9ac220cad512e598333aba40"></span><span 
class="sig-name descname"><span class="pre">NANOARROW_DLL</span> <span 
class="pre">ArrowErrorCode</span> <span class="pre">ArrowIpcDecoderInit</span> 
<span class="pre">(struct</span> <span class="pre">ArrowIpcDecoder</span> <span 
class="pre">*decoder)</span></span></dt>
@@ -909,6 +972,23 @@
 <p>metadata contains the same representation as ArrowSchema::metadata, as 
built by <a class="reference internal" 
href="c.html#group__nanoarrow-metadata_1gaa5ec9643870d9fc0e55ef78c3a374ec3"><span
 class="std 
std-ref">ArrowMetadataBuilderInit()</span></a>/ArrowMetadataBuilderAppend(). 
The encoder takes ownership of it: unless metadata is NULL it is moved into the 
encoder and left empty. Metadata containing no keys is equivalent to no 
metadata at all and no custom_metadata is encoded for it. </p>
 </dd></dl>
 
+<dl class="cpp function">
+<dt class="sig sig-object cpp">
+<span class="target" 
id="group__nanoarrow__ipc_1ga5cdd97b8957f58f661f7a35f77e26035"></span><span 
class="sig-name descname"><span class="pre">NANOARROW_DLL</span> <span 
class="pre">ArrowErrorCode</span> <span 
class="pre">ArrowIpcEncoderSetCompression</span> <span 
class="pre">(struct</span> <span class="pre">ArrowIpcEncoder</span> <span 
class="pre">*encoder,</span> <span class="pre">enum</span> <span 
class="pre">ArrowIpcCompressionType</span> <span 
class="pre">compression_type,</span> <spa [...]
+<dd><p>Compress the bodies of subsequently encoded messages with a built-in 
codec. </p>
+<p>Installs an <a class="reference internal" 
href="#group__nanoarrow__ipc_1gac65aabe05ccb72cc846613c7e921e644"><span 
class="std std-ref">ArrowIpcSerialCompressor()</span></a> configured with 
compression_type and compression_level, replacing any compressor previously set 
with this function or with <a class="reference internal" 
href="#group__nanoarrow__ipc_1gadc56c656e9a896352db86b8a82b3eea2"><span 
class="std std-ref">ArrowIpcEncoderSetCompressor()</span></a>. 
NANOARROW_IPC_COMPRESSION_TYP [...]
+<p>The body buffers of every RecordBatch or DictionaryBatch encoded while a 
compressor is set are compressed as described by the Arrow IPC format: each 
non-empty buffer is written as its uncompressed length (a little-endian int64) 
followed by the compressed bytes. Buffers that do not shrink when compressed 
are written uncompressed with a length prefix of -1, and empty buffers are 
written as-is.</p>
+<p>compression_level is passed to the codec unchanged; see <a class="reference 
internal" 
href="#group__nanoarrow__ipc_1gad314b87b13d74a62085aa517154c20ac"><span 
class="std std-ref">ArrowIpcCompressFunction</span></a> for its interpretation 
and use NANOARROW_IPC_COMPRESSION_LEVEL_DEFAULT for the codec’s default 
level.</p>
+<p>Returns EINVAL for an unknown compression type or a compression_level 
outside the range reported by <a class="reference internal" 
href="#group__nanoarrow__ipc_1gaa10eebc627e9789d3ec6d31c5f439100"><span 
class="std std-ref">ArrowIpcGetCompressionLevelRange()</span></a>, and ENOTSUP 
if the compression type is not supported by this build of nanoarrow (i.e., 
nanoarrow was not built with NANOARROW_IPC_WITH_LZ4 or 
NANOARROW_IPC_WITH_ZSTD). </p>
+</dd></dl>
+
+<dl class="cpp function">
+<dt class="sig sig-object cpp">
+<span class="target" 
id="group__nanoarrow__ipc_1gadc56c656e9a896352db86b8a82b3eea2"></span><span 
class="sig-name descname"><span class="pre">NANOARROW_DLL</span> <span 
class="pre">ArrowErrorCode</span> <span 
class="pre">ArrowIpcEncoderSetCompressor</span> <span 
class="pre">(struct</span> <span class="pre">ArrowIpcEncoder</span> <span 
class="pre">*encoder,</span> <span class="pre">struct</span> <span 
class="pre">ArrowIpcCompressor</span> <span 
class="pre">*compressor)</span></span></dt>
+<dd><p>Compress the bodies of subsequently encoded messages with a custom 
compressor. </p>
+<p>The encoder takes ownership of compressor and replaces any compressor 
previously set. The compressor’s compression_type member selects the codec (any 
level is part of the compressor’s own configuration, like the one given to <a 
class="reference internal" 
href="#group__nanoarrow__ipc_1gac65aabe05ccb72cc846613c7e921e644"><span 
class="std std-ref">ArrowIpcSerialCompressor()</span></a>), and its support is 
not checked until a message is encoded. </p>
+</dd></dl>
+
 <dl class="cpp function">
 <dt class="sig sig-object cpp">
 <span class="target" 
id="group__nanoarrow__ipc_1gabd2af9c33984ccc5b349b5247ef4655f"></span><span 
class="sig-name descname"><span class="pre">NANOARROW_DLL</span> <span 
class="pre">ArrowErrorCode</span> <span 
class="pre">ArrowIpcEncoderEncodeSchema</span> <span class="pre">(struct</span> 
<span class="pre">ArrowIpcEncoder</span> <span class="pre">*encoder,</span> 
<span class="pre">const</span> <span class="pre">struct</span> <span 
class="pre">ArrowSchema</span> <span class="pre">*schema,</ [...]
@@ -971,6 +1051,14 @@
 <dd><p>Release all resources attached to a writer. </p>
 </dd></dl>
 
+<dl class="cpp function">
+<dt class="sig sig-object cpp">
+<span class="target" 
id="group__nanoarrow__ipc_1ga559905be44886c882d50db58dcbcaee9"></span><span 
class="sig-name descname"><span class="pre">NANOARROW_DLL</span> <span 
class="pre">ArrowErrorCode</span> <span 
class="pre">ArrowIpcWriterSetCompression</span> <span 
class="pre">(struct</span> <span class="pre">ArrowIpcWriter</span> <span 
class="pre">*writer,</span> <span class="pre">enum</span> <span 
class="pre">ArrowIpcCompressionType</span> <span 
class="pre">compression_type,</span> <span c [...]
+<dd><p>Compress the bodies of subsequently written batches with a built-in 
codec. </p>
+<p>See <a class="reference internal" 
href="#group__nanoarrow__ipc_1ga5cdd97b8957f58f661f7a35f77e26035"><span 
class="std std-ref">ArrowIpcEncoderSetCompression()</span></a>. Compression 
applies to record batches and dictionary batches written after this call (in 
both stream and file mode) and may be changed between batches. Set it before 
writing the schema so that the Schema message declares the COMPRESSED_BODY 
feature (a file footer declares it whenever compression was declared or used). 
[...]
+<p>Returns EINVAL for an unknown compression type or an out-of-range 
compression_level, and ENOTSUP if the compression type is not supported by this 
build of nanoarrow. </p>
+</dd></dl>
+
 <dl class="cpp function">
 <dt class="sig sig-object cpp">
 <span class="target" 
id="group__nanoarrow__ipc_1gae1471a4c8ec68569bffb14cd6216c971"></span><span 
class="sig-name descname"><span class="pre">NANOARROW_DLL</span> <span 
class="pre">ArrowErrorCode</span> <span 
class="pre">ArrowIpcWriterWriteSchema</span> <span class="pre">(struct</span> 
<span class="pre">ArrowIpcWriter</span> <span class="pre">*writer,</span> <span 
class="pre">const</span> <span class="pre">struct</span> <span 
class="pre">ArrowSchema</span> <span class="pre">*in,</span> <s [...]
@@ -1128,6 +1216,52 @@
 </div>
 </dd></dl>
 
+<dl class="cpp struct">
+<dt class="sig sig-object cpp" id="_CPPv418ArrowIpcCompressor">
+<span id="_CPPv318ArrowIpcCompressor"></span><span 
id="_CPPv218ArrowIpcCompressor"></span><span 
id="ArrowIpcCompressor"></span><span class="target" 
id="struct_arrow_ipc_compressor"></span><span class="k"><span 
class="pre">struct</span></span><span class="w"> </span><span class="sig-name 
descname"><span class="n"><span 
class="pre">ArrowIpcCompressor</span></span></span><a class="headerlink" 
href="#_CPPv418ArrowIpcCompressor" title="Link to this definition">#</a><br 
/></dt>
+<dd><div class="docutils container">
+<em>#include &lt;nanoarrow_ipc.h&gt;</em></div>
+<p>A user-extensible compressor. </p>
+<p>The <a class="reference internal" href="#struct_arrow_ipc_compressor"><span 
class="std std-ref">ArrowIpcCompressor</span></a> is the underlying object that 
enables buffer compression in the <a class="reference internal" 
href="#struct_arrow_ipc_encoder"><span class="std 
std-ref">ArrowIpcEncoder</span></a>. Its structure allows it to be backed by a 
multithreaded implementation; however, this is not required and the default 
implementation does not implement this. The encoder queues every [...]
+<div class="breathe-sectiondef docutils container">
+<p class="breathe-sectiondef-title rubric" 
id="breathe-section-title-public-members">Public Members</p>
+<dl class="cpp var">
+<dt class="sig sig-object cpp" 
id="_CPPv4N18ArrowIpcCompressor16compression_typeE">
+<span id="_CPPv3N18ArrowIpcCompressor16compression_typeE"></span><span 
id="_CPPv2N18ArrowIpcCompressor16compression_typeE"></span><span 
id="ArrowIpcCompressor::compression_type__ArrowIpcCompressionType"></span><span 
class="target" 
id="struct_arrow_ipc_compressor_1a1d0ca4b9af685180e826bef5a2814506"></span><span
 class="k"><span class="pre">enum</span></span><span class="w"> </span><a 
class="reference internal" href="#_CPPv423ArrowIpcCompressionType" 
title="ArrowIpcCompressionType"><span cl [...]
+<dd><p>The codec this compressor applies. </p>
+<p>The encoder declares this codec in the messages it encodes, so 
implementations must compress with it. NANOARROW_IPC_COMPRESSION_TYPE_NONE 
disables compression. Any other parameters (e.g., a compression level) are part 
of the implementation. </p>
+</dd></dl>
+
+<dl class="cpp var">
+<dt class="sig sig-object cpp" id="_CPPv4N18ArrowIpcCompressor12compress_addE">
+<span id="_CPPv3N18ArrowIpcCompressor12compress_addE"></span><span 
id="_CPPv2N18ArrowIpcCompressor12compress_addE"></span><span class="target" 
id="struct_arrow_ipc_compressor_1aa881126b5587a4092dbd21f36449c052"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n"><span 
class="pre">ArrowErrorCode</span></span></a><span class="w"> </span><span 
class="p"><span class="pre">(</span></span><span class="p"><span 
class="pre">*</span></s [...]
+<dd><p>Queue a buffer for compression. </p>
+<p>Compresses src using compression_type and appends the compressed bytes to 
dst, preserving any content already in dst. The caller must keep src and dst 
valid and must not access them until the queued work has completed or been 
cancelled. The content of dst is only valid after <a class="reference internal" 
href="#struct_arrow_ipc_compressor_1a89db3c1d4cbb7e9c58382231b4757e4b"><span 
class="std std-ref">compress_wait()</span></a> returns NANOARROW_OK. </p>
+</dd></dl>
+
+<dl class="cpp var">
+<dt class="sig sig-object cpp" 
id="_CPPv4N18ArrowIpcCompressor13compress_waitE">
+<span id="_CPPv3N18ArrowIpcCompressor13compress_waitE"></span><span 
id="_CPPv2N18ArrowIpcCompressor13compress_waitE"></span><span class="target" 
id="struct_arrow_ipc_compressor_1a89db3c1d4cbb7e9c58382231b4757e4b"></span><a 
class="reference internal" href="c.html#_CPPv414ArrowErrorCode" 
title="ArrowErrorCode"><span class="n"><span 
class="pre">ArrowErrorCode</span></span></a><span class="w"> </span><span 
class="p"><span class="pre">(</span></span><span class="p"><span 
class="pre">*</span>< [...]
+<dd><p>Wait for any unfinished calls to compress_add to complete. </p>
+<p>Returns NANOARROW_OK if all pending calls completed successfully. Returns 
ETIMEDOUT if not all remaining calls completed within timeout_ms. A negative 
timeout waits indefinitely and must complete or cancel all queued work before 
returning, including when returning an error. </p>
+</dd></dl>
+
+<dl class="cpp var">
+<dt class="sig sig-object cpp" id="_CPPv4N18ArrowIpcCompressor7releaseE">
+<span id="_CPPv3N18ArrowIpcCompressor7releaseE"></span><span 
id="_CPPv2N18ArrowIpcCompressor7releaseE"></span><span class="target" 
id="struct_arrow_ipc_compressor_1ac037c229da7d04f7032811e8728d9e77"></span><span
 class="kt"><span class="pre">void</span></span><span class="w"> </span><span 
class="p"><span class="pre">(</span></span><span class="p"><span 
class="pre">*</span></span><span class="sig-name descname"><span 
class="n"><span class="pre">release</span></span></span><span class="p">< [...]
+<dd><p>Release the compressor and any resources it may be holding. </p>
+<p>Implementations must wait for or cancel any queued work before returning. 
Release callback implementations must set the release member to NULL. Callers 
must check that the release callback is not NULL before calling <a 
class="reference internal" 
href="#struct_arrow_ipc_compressor_1aa881126b5587a4092dbd21f36449c052"><span 
class="std std-ref">compress_add()</span></a>, <a class="reference internal" 
href="#struct_arrow_ipc_compressor_1a89db3c1d4cbb7e9c58382231b4757e4b"><span 
class="std s [...]
+</dd></dl>
+
+<dl class="cpp var">
+<dt class="sig sig-object cpp" id="_CPPv4N18ArrowIpcCompressor12private_dataE">
+<span id="_CPPv3N18ArrowIpcCompressor12private_dataE"></span><span 
id="_CPPv2N18ArrowIpcCompressor12private_dataE"></span><span 
id="ArrowIpcCompressor::private_data__voidP"></span><span class="target" 
id="struct_arrow_ipc_compressor_1a6d4b8553a0058ce04f17ebbc4a48921b"></span><span
 class="kt"><span class="pre">void</span></span><span class="w"> </span><span 
class="p"><span class="pre">*</span></span><span class="sig-name 
descname"><span class="n"><span class="pre">private_data</span></spa [...]
+<dd><p>Implementation-specific opaque data. </p>
+</dd></dl>
+
+</div>
+</dd></dl>
+
 <dl class="cpp struct">
 <dt class="sig sig-object cpp" id="_CPPv415ArrowIpcDecoder">
 <span id="_CPPv315ArrowIpcDecoder"></span><span 
id="_CPPv215ArrowIpcDecoder"></span><span id="ArrowIpcDecoder"></span><span 
class="target" id="struct_arrow_ipc_decoder"></span><span class="k"><span 
class="pre">struct</span></span><span class="w"> </span><span class="sig-name 
descname"><span class="n"><span 
class="pre">ArrowIpcDecoder</span></span></span><a class="headerlink" 
href="#_CPPv415ArrowIpcDecoder" title="Link to this definition">#</a><br /></dt>
@@ -1375,6 +1509,12 @@
 <dd><p>Class wrapping a unique struct <a class="reference internal" 
href="#struct_arrow_ipc_decompressor"><span class="std 
std-ref">ArrowIpcDecompressor</span></a>. </p>
 </dd></dl>
 
+<dl class="cpp type">
+<dt class="sig sig-object cpp" id="_CPPv416UniqueCompressor">
+<span id="_CPPv316UniqueCompressor"></span><span 
id="_CPPv216UniqueCompressor"></span><span class="target" 
id="group__nanoarrow__ipc__hpp-unique_1ga2595703ea5edb7833bbd63f0e5630b81"></span><span
 class="k"><span class="pre">using</span></span><span class="w"> </span><span 
class="sig-name descname"><span class="n"><span 
class="pre">UniqueCompressor</span></span></span><span class="w"> </span><span 
class="p"><span class="pre">=</span></span><span class="w"> </span><span 
class="n"><span clas [...]
+<dd><p>Class wrapping a unique struct <a class="reference internal" 
href="#struct_arrow_ipc_compressor"><span class="std 
std-ref">ArrowIpcCompressor</span></a>. </p>
+</dd></dl>
+
 <dl class="cpp type">
 <dt class="sig sig-object cpp" id="_CPPv417UniqueInputStream">
 <span id="_CPPv317UniqueInputStream"></span><span 
id="_CPPv217UniqueInputStream"></span><span class="target" 
id="group__nanoarrow__ipc__hpp-unique_1gadfb0e1df846a2dde87ab3122f50a8bbf"></span><span
 class="k"><span class="pre">using</span></span><span class="w"> </span><span 
class="sig-name descname"><span class="n"><span 
class="pre">UniqueInputStream</span></span></span><span class="w"> </span><span 
class="p"><span class="pre">=</span></span><span class="w"> </span><span 
class="n"><span c [...]
@@ -1449,7 +1589,9 @@
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#c-api">C API</a><ul class="pst-show_toc_level nav section-nav 
flex-column">
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#c.NANOARROW_IPC_FEATURE_DICTIONARY_REPLACEMENT"><code class="docutils 
literal notranslate"><span 
class="pre">NANOARROW_IPC_FEATURE_DICTIONARY_REPLACEMENT</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#c.NANOARROW_IPC_FEATURE_COMPRESSED_BODY"><code class="docutils literal 
notranslate"><span 
class="pre">NANOARROW_IPC_FEATURE_COMPRESSED_BODY</span></code></a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#c.NANOARROW_IPC_COMPRESSION_LEVEL_DEFAULT"><code class="docutils literal 
notranslate"><span 
class="pre">NANOARROW_IPC_COMPRESSION_LEVEL_DEFAULT</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv426ArrowIpcDecompressFunction"><code class="docutils literal 
notranslate"><span class="pre">ArrowIpcDecompressFunction</span></code></a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv424ArrowIpcCompressFunction"><code class="docutils literal 
notranslate"><span class="pre">ArrowIpcCompressFunction</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv429ArrowIpcMetadataVisitFunction"><code class="docutils literal 
notranslate"><span 
class="pre">ArrowIpcMetadataVisitFunction</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv423ArrowIpcMetadataVersion"><code class="docutils literal 
notranslate"><span class="pre">ArrowIpcMetadataVersion</span></code></a><ul 
class="nav section-nav flex-column">
 <li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv4N23ArrowIpcMetadataVersion33NANOARROW_IPC_METADATA_VERSION_V1E"><code
 class="docutils literal notranslate"><span 
class="pre">NANOARROW_IPC_METADATA_VERSION_V1</span></code></a></li>
@@ -1507,6 +1649,14 @@
 <li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv4N20ArrowIpcDecompressor12private_dataE"><code class="docutils 
literal notranslate"><span class="pre">private_data</span></code></a></li>
 </ul>
 </li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv418ArrowIpcCompressor"><code class="docutils literal 
notranslate"><span class="pre">ArrowIpcCompressor</span></code></a><ul 
class="nav section-nav flex-column">
+<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv4N18ArrowIpcCompressor16compression_typeE"><code class="docutils 
literal notranslate"><span class="pre">compression_type</span></code></a></li>
+<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv4N18ArrowIpcCompressor12compress_addE"><code class="docutils 
literal notranslate"><span class="pre">compress_add</span></code></a></li>
+<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv4N18ArrowIpcCompressor13compress_waitE"><code class="docutils 
literal notranslate"><span class="pre">compress_wait</span></code></a></li>
+<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv4N18ArrowIpcCompressor7releaseE"><code class="docutils literal 
notranslate"><span class="pre">release</span></code></a></li>
+<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv4N18ArrowIpcCompressor12private_dataE"><code class="docutils 
literal notranslate"><span class="pre">private_data</span></code></a></li>
+</ul>
+</li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv415ArrowIpcDecoder"><code class="docutils literal 
notranslate"><span class="pre">ArrowIpcDecoder</span></code></a><ul class="nav 
section-nav flex-column">
 <li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv4N15ArrowIpcDecoder12message_typeE"><code class="docutils literal 
notranslate"><span class="pre">message_type</span></code></a></li>
 <li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv4N15ArrowIpcDecoder16metadata_versionE"><code class="docutils 
literal notranslate"><span class="pre">metadata_version</span></code></a></li>
@@ -1554,6 +1704,7 @@
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv418UniqueDictionaries"><code class="docutils literal 
notranslate"><span class="pre">UniqueDictionaries</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv413UniqueEncoder"><code class="docutils literal notranslate"><span 
class="pre">UniqueEncoder</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv418UniqueDecompressor"><code class="docutils literal 
notranslate"><span class="pre">UniqueDecompressor</span></code></a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv416UniqueCompressor"><code class="docutils literal 
notranslate"><span class="pre">UniqueCompressor</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv417UniqueInputStream"><code class="docutils literal 
notranslate"><span class="pre">UniqueInputStream</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv418UniqueOutputStream"><code class="docutils literal 
notranslate"><span class="pre">UniqueOutputStream</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#_CPPv412UniqueWriter"><code class="docutils literal notranslate"><span 
class="pre">UniqueWriter</span></code></a></li>
diff --git a/main/searchindex.js b/main/searchindex.js
index 2e11a17b..cadd8068 100644
--- a/main/searchindex.js
+++ b/main/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"API Reference":[[8,null]],"Array Stream 
utilities":[[6,"array-stream-utilities"]],"Array 
Streams":[[3,"array-streams"]],"Array 
streams":[[2,"array-streams"]],"Arrays":[[2,"arrays"],[3,"arrays"]],"Arrow C 
Data Interface":[[5,"arrow-c-data-interface"]],"Arrow C Device 
Interface":[[7,"arrow-c-device-interface"]],"Arrow C data/nanoarrow interface 
basics":[[0,"arrow-c-data-nanoarrow-interface-basics"]],"Bitmap 
utilities":[[5,"bitmap-utilities"]],"Buffer utilitie [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"API Reference":[[8,null]],"Array Stream 
utilities":[[6,"array-stream-utilities"]],"Array 
Streams":[[3,"array-streams"]],"Array 
streams":[[2,"array-streams"]],"Arrays":[[2,"arrays"],[3,"arrays"]],"Arrow C 
Data Interface":[[5,"arrow-c-data-interface"]],"Arrow C Device 
Interface":[[7,"arrow-c-device-interface"]],"Arrow C data/nanoarrow interface 
basics":[[0,"arrow-c-data-nanoarrow-interface-basics"]],"Bitmap 
utilities":[[5,"bitmap-utilities"]],"Buffer utilitie [...]
\ No newline at end of file

Reply via email to