This repository has been archived on 2022-04-04. You can view files and clone it, but cannot push or open issues or pull requests.

47 lines
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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="`bincode` uses a Builder-pattern to configure the Serializers and Deserializers in this crate. This means that if you need to customize the behavior of `bincode`, you should create an instance of the `DefaultOptions` struct:"><meta name="keywords" content="rust, rustlang, rust-lang, config"><title>bincode::config - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a class="sidebar-logo" href="../../bincode/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.png" alt="logo"></div>
</a><h2 class="location">Module config</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li></ul></div><div id="sidebar-vars" data-name="config" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../bincode/index.html"><img class="rust-logo" src="../../rust-logo.png" alt="logo"></a><nav class="sub"><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">bincode</a>::<wbr><a class="mod" href="#">config</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/bincode/config/mod.rs.html#1-408" title="goto source code">[src]</a></span></h1><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><code>bincode</code> uses a Builder-pattern to configure the Serializers and Deserializers in this
crate. This means that if you need to customize the behavior of <code>bincode</code>, you should create an
instance of the <code>DefaultOptions</code> struct:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use</span> <span class="ident">bincode::Options</span>;
<span class="kw">let</span> <span class="ident">my_options</span> <span class="op">=</span> <span class="ident">bincode::DefaultOptions::new</span>();</code></pre></div>
<h2 id="options-struct-vs-bincode-functions" class="section-header"><a href="#options-struct-vs-bincode-functions">Options Struct vs bincode functions</a></h2>
<p>Due to historical reasons, the default options used by the <code>serialize()</code> and <code>deserialize()</code>
family of functions are different than the default options created by the <code>DefaultOptions</code> struct:</p>
<div><table><thead><tr><th></th><th>Byte limit</th><th>Endianness</th><th>Int Encoding</th><th>Trailing Behavior</th></tr></thead><tbody>
<tr><td>struct</td><td>Unlimited</td><td>Little</td><td>Varint</td><td>Reject</td></tr>
<tr><td>function</td><td>Unlimited</td><td>Little</td><td>Fixint</td><td>Allow</td></tr>
</tbody></table>
</div>
<p>This means that if you want to use the <code>Serialize</code> / <code>Deserialize</code> structs with the same
settings as the functions, you should adjust the <code>DefaultOptions</code> struct like so:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use</span> <span class="ident">bincode::Options</span>;
<span class="kw">let</span> <span class="ident">my_options</span> <span class="op">=</span> <span class="ident">bincode::DefaultOptions::new</span>()
.<span class="ident">with_fixint_encoding</span>()
.<span class="ident">allow_trailing_bytes</span>();</code></pre></div>
</div></details><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AllowTrailing.html" title="bincode::config::AllowTrailing struct">AllowTrailing</a></div><div class="item-right docblock-short"><p>A TrailingBytes config that will allow trailing bytes in slices after deserialization.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.BigEndian.html" title="bincode::config::BigEndian struct">BigEndian</a></div><div class="item-right docblock-short"><p>Big-endian byte ordering.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Bounded.html" title="bincode::config::Bounded struct">Bounded</a></div><div class="item-right docblock-short"><p>A SizeLimit that restricts serialized or deserialized messages from
exceeding a certain byte length.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Config.html" title="bincode::config::Config struct">Config</a><span class="stab deprecated" title="">Deprecated</span></div><div class="item-right docblock-short"><p>A configuration builder whose options Bincode will use
while serializing and deserializing.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.DefaultOptions.html" title="bincode::config::DefaultOptions struct">DefaultOptions</a></div><div class="item-right docblock-short"><p>The default options for bincode serialization/deserialization.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.FixintEncoding.html" title="bincode::config::FixintEncoding struct">FixintEncoding</a></div><div class="item-right docblock-short"><p>Fixed-size integer encoding.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Infinite.html" title="bincode::config::Infinite struct">Infinite</a></div><div class="item-right docblock-short"><p>A SizeLimit without a limit!
Use this if you dont care about the size of encoded or decoded messages.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.LittleEndian.html" title="bincode::config::LittleEndian struct">LittleEndian</a></div><div class="item-right docblock-short"><p>Little-endian byte ordering.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.NativeEndian.html" title="bincode::config::NativeEndian struct">NativeEndian</a></div><div class="item-right docblock-short"><p>The native byte ordering of the current system.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.RejectTrailing.html" title="bincode::config::RejectTrailing struct">RejectTrailing</a></div><div class="item-right docblock-short"><p>A TrailingBytes config that will cause bincode to produce an error if bytes are left over in the slice when deserialization is complete.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.VarintEncoding.html" title="bincode::config::VarintEncoding struct">VarintEncoding</a></div><div class="item-right docblock-short"><p>Variable-size integer encoding (excepting [ui]8).</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.WithOtherEndian.html" title="bincode::config::WithOtherEndian struct">WithOtherEndian</a></div><div class="item-right docblock-short"><p>A configuration struct with a user-specified endian order</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.WithOtherIntEncoding.html" title="bincode::config::WithOtherIntEncoding struct">WithOtherIntEncoding</a></div><div class="item-right docblock-short"><p>A configuration struct with a user-specified length encoding</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.WithOtherLimit.html" title="bincode::config::WithOtherLimit struct">WithOtherLimit</a></div><div class="item-right docblock-short"><p>A configuration struct with a user-specified byte limit</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.WithOtherTrailing.html" title="bincode::config::WithOtherTrailing struct">WithOtherTrailing</a></div><div class="item-right docblock-short"><p>A configuration struct with a user-specified trailing bytes behavior.</p>
</div></div></div><h2 id="traits" class="small-section-header"><a href="#traits">Traits</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.Options.html" title="bincode::config::Options trait">Options</a></div><div class="item-right docblock-short"><p>A configuration builder trait whose options Bincode will use
while serializing and deserializing.</p>
</div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bincode" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.59.0 (9d1b2106e 2022-02-23)" ></div>
</body></html>