24 lines
6.4 KiB
HTML
24 lines
6.4 KiB
HTML
<!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="ZSTD_CCtx_refPrefix() : Requires v1.4.0+ Reference a prefix (single-usage dictionary) for next compressed frame. A prefix is only used once. Tables are discarded at end of frame (ZSTD_e_end). Decompression will need same prefix to properly regenerate data. Compressing with a prefix is similar in outcome as performing a diff and compressing it, but performs much faster, especially during decompression (compression speed is tunable with compression level). This method is compatible with LDM (long distance mode). @result : 0, or an error code (which can be tested with ZSTD_isError()). Special: Adding any prefix (including NULL) invalidates any previous prefix or dictionary Note 1 : Prefix buffer is referenced. It must outlive compression. Its content must remain unmodified during compression. Note 2 : If the intention is to diff some large src data blob with some prior version of itself, ensure that the window size is large enough to contain the entire source. See ZSTD_c_windowLog. Note 3 : Referencing a prefix involves building tables, which are dependent on compression parameters. It’s a CPU consuming operation, with non-negligible impact on latency. If there is a need to use the same prefix multiple times, consider loadDictionary instead. Note 4 : By default, the prefix is interpreted as raw content (ZSTD_dct_rawContent). Use experimental ZSTD_CCtx_refPrefix_advanced() to alter dictionary interpretation."><title>ZSTD_CCtx_refPrefix in zstd_sys - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="zstd_sys" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">ZSTD_CCtx_refPrefix</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../zstd_sys/index.html">zstd_<wbr>sys</a><span class="version">2.0.16+zstd.1.5.7</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">zstd_sys</a></div><h1>Function <span class="fn">ZSTD_<wbr>CCtx_<wbr>refPrefix</span> <button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/zstd_sys/bindings_zstd.rs.html#581-585">Source</a> </span></div><pre class="rust item-decl"><code>pub unsafe extern "C" fn ZSTD_CCtx_refPrefix(
|
||
cctx: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.pointer.html">*mut </a><a class="type" href="type.ZSTD_CCtx.html" title="type zstd_sys::ZSTD_CCtx">ZSTD_CCtx</a>,
|
||
prefix: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.pointer.html">*const </a><a class="enum" href="https://doc.rust-lang.org/1.93.1/core/ffi/enum.c_void.html" title="enum core::ffi::c_void">c_void</a>,
|
||
prefixSize: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.usize.html">usize</a>,
|
||
) -> <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/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>ZSTD_CCtx_refPrefix() : Requires v1.4.0+
|
||
Reference a prefix (single-usage dictionary) for next compressed frame.
|
||
A prefix is <strong>only used once</strong>. Tables are discarded at end of frame (ZSTD_e_end).
|
||
Decompression will need same prefix to properly regenerate data.
|
||
Compressing with a prefix is similar in outcome as performing a diff and compressing it,
|
||
but performs much faster, especially during decompression (compression speed is tunable with compression level).
|
||
This method is compatible with LDM (long distance mode).
|
||
@result : 0, or an error code (which can be tested with ZSTD_isError()).
|
||
Special: Adding any prefix (including NULL) invalidates any previous prefix or dictionary
|
||
Note 1 : Prefix buffer is referenced. It <strong>must</strong> outlive compression.
|
||
Its content must remain unmodified during compression.
|
||
Note 2 : If the intention is to diff some large src data blob with some prior version of itself,
|
||
ensure that the window size is large enough to contain the entire source.
|
||
See ZSTD_c_windowLog.
|
||
Note 3 : Referencing a prefix involves building tables, which are dependent on compression parameters.
|
||
It’s a CPU consuming operation, with non-negligible impact on latency.
|
||
If there is a need to use the same prefix multiple times, consider loadDictionary instead.
|
||
Note 4 : By default, the prefix is interpreted as raw content (ZSTD_dct_rawContent).
|
||
Use experimental ZSTD_CCtx_refPrefix_advanced() to alter dictionary interpretation.</p>
|
||
</div></details></section></div></main></body></html> |