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 “<unknown compression type>” 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 >= 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 <nanoarrow_ipc.h></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