2017-07-14 23:30:16 +00:00
<!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 = "API documentation for the Rust `ZlibEncoder` struct in crate `deflate`." >
< meta name = "keywords" content = "rust, rustlang, rust-lang, ZlibEncoder" >
< title > deflate::write::ZlibEncoder - Rust< / title >
< link rel = "stylesheet" type = "text/css" href = "../../normalize.css" >
< link rel = "stylesheet" type = "text/css" href = "../../rustdoc.css" >
< link rel = "stylesheet" type = "text/css" href = "../../main.css" >
< / head >
< body class = "rustdoc struct" >
<!-- [if lte IE 8]>
< div class = "warning" >
This old browser is unsupported and will most likely display funky
things.
< / div >
<![endif]-->
< nav class = "sidebar" >
< p class = 'location' > Struct ZlibEncoder< / p > < div class = "block items" > < ul > < li > < a href = "#methods" > Methods< / a > < / li > < li > < a href = "#implementations" > Trait Implementations< / a > < / li > < / ul > < / div > < p class = 'location' > < a href = '../index.html' > deflate< / a > ::< wbr > < a href = 'index.html' > write< / a > < / p > < script > window . sidebarCurrent = { name : 'ZlibEncoder' , ty : 'struct' , relpath : '' } ; < / script > < script defer src = "sidebar-items.js" > < / script >
< / nav >
< nav class = "sub" >
< form class = "search-form js-only" >
< div class = "search-container" >
< input class = "search-input" name = "search"
autocomplete="off"
placeholder="Click or press ‘ S’ to search, ‘ ?’ for more options…"
type="search">
< / div >
< / form >
< / nav >
< section id = 'main' class = "content" >
< h1 class = 'fqn' > < span class = 'in-band' > Struct < a href = '../index.html' > deflate< / a > ::< wbr > < a href = 'index.html' > write< / a > ::< wbr > < a class = "struct" href = '' > ZlibEncoder< / a > < / 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' > − < / span > ]
< / a >
2017-07-16 21:37:37 +00:00
< / span > < a class = 'srclink' href = '../../src/deflate/writer.rs.html#186-190' title = 'goto source code' > [src]< / a > < / span > < / h1 >
2017-07-14 23:30:16 +00:00
< pre class = 'rust struct' > pub struct ZlibEncoder< W: < a class = "trait" href = "https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title = "trait std::io::Write" > Write< / a > > { /* fields omitted */ }< / pre > < div class = 'docblock' > < p > A Zlib encoder/compressor.< / p >
< p > A struct implementing a < a href = "https://doc.rust-lang.org/std/io/trait.Write.html" > < code > Write< / code > < / a > interface that takes unencoded data and compresses it to
the provided writer using DEFLATE compression with Zlib headers and trailers.< / p >
< h1 id = 'examples' class = 'section-header' > < a href = '#examples' > Examples< / a > < / h1 >
< pre class = "rust rust-example-rendered" >
< span class = "kw" > use< / span > < span class = "ident" > std< / span > ::< span class = "ident" > io< / span > ::< span class = "ident" > Write< / span > ;
< span class = "kw" > use< / span > < span class = "ident" > deflate< / span > ::< span class = "ident" > Compression< / span > ;
< span class = "kw" > use< / span > < span class = "ident" > deflate< / span > ::< span class = "ident" > write< / span > ::< span class = "ident" > ZlibEncoder< / span > ;
< span class = "kw" > let< / span > < span class = "ident" > data< / span > < span class = "op" > =< / span > < span class = "string" > b" This is some test data" < / span > ;
< span class = "kw" > let< / span > < span class = "kw-2" > mut< / span > < span class = "ident" > encoder< / span > < span class = "op" > =< / span > < span class = "ident" > ZlibEncoder< / span > ::< span class = "ident" > new< / span > (< span class = "ident" > Vec< / span > ::< span class = "ident" > new< / span > (), < span class = "ident" > Compression< / span > ::< span class = "ident" > Default< / span > );
2017-07-16 21:37:37 +00:00
< span class = "ident" > encoder< / span > .< span class = "ident" > write_all< / span > (< span class = "ident" > data< / span > )< span class = "question-mark" > ?< / span > ;
< span class = "kw" > let< / span > < span class = "ident" > compressed_data< / span > < span class = "op" > =< / span > < span class = "ident" > encoder< / span > .< span class = "ident" > finish< / span > ()< span class = "question-mark" > ?< / span > ;< / pre >
< / div > < h2 id = 'methods' > Methods< / h2 > < h3 class = 'impl' > < span class = 'in-band' > < code > impl< W: < a class = "trait" href = "https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title = "trait std::io::Write" > Write< / a > > < a class = "struct" href = "../../deflate/write/struct.ZlibEncoder.html" title = "struct deflate::write::ZlibEncoder" > ZlibEncoder< / a > < W> < / code > < / span > < span class = 'out-of-band' > < div class = 'ghost' > < / div > < a class = 'srclink' href = '../../src/deflate/writer.rs.html#192-252' title = 'goto source code' > [src]< / a > < / span > < / h3 >
2017-07-14 23:30:16 +00:00
< div class = 'impl-items' > < h4 id = 'method.new' class = "method" > < span id = 'new.v' class = 'invisible' > < code > fn < a href = '#method.new' class = 'fnname' > new< / a > < O: < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title = "trait core::convert::Into" > Into< / a > < < a class = "struct" href = "../../deflate/struct.CompressionOptions.html" title = "struct deflate::CompressionOptions" > CompressionOptions< / a > > > (writer: W, options: O) -> < a class = "struct" href = "../../deflate/write/struct.ZlibEncoder.html" title = "struct deflate::write::ZlibEncoder" > ZlibEncoder< / a > < W> < / code > < / span > < / h4 >
< div class = 'docblock' > < p > Create a new < code > ZlibEncoder< / code > using the provided compression options.< / p >
< / div > < h4 id = 'method.finish' class = "method" > < span id = 'finish.v' class = 'invisible' > < code > fn < a href = '#method.finish' class = 'fnname' > finish< / a > (self) -> < a class = "type" href = "https://doc.rust-lang.org/nightly/std/io/error/type.Result.html" title = "type std::io::error::Result" > Result< / a > < W> < / code > < / span > < / h4 >
< div class = 'docblock' > < p > Encode all pending data to the contained writer, consume this < code > ZlibEncoder< / code > ,
and return the contained writer if writing succeeds.< / p >
< / div > < h4 id = 'method.reset' class = "method" > < span id = 'reset.v' class = 'invisible' > < code > fn < a href = '#method.reset' class = 'fnname' > reset< / a > (& mut self, writer: W) -> < a class = "type" href = "https://doc.rust-lang.org/nightly/std/io/error/type.Result.html" title = "type std::io::error::Result" > Result< / a > < W> < / code > < / span > < / h4 >
< div class = 'docblock' > < p > Resets the encoder (except the compression options), replacing the current writer
with a new one, returning the old one.< / p >
< / div > < h4 id = 'method.checksum' class = "method" > < span id = 'checksum.v' class = 'invisible' > < code > fn < a href = '#method.checksum' class = 'fnname' > checksum< / a > (& self) -> < a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.u32.html" > u32< / a > < / code > < / span > < / h4 >
< div class = 'docblock' > < p > Return the adler32 checksum of the currently consumed data.< / p >
2017-07-16 21:37:37 +00:00
< / div > < / div > < h2 id = 'implementations' > Trait Implementations< / h2 > < h3 class = 'impl' > < span class = 'in-band' > < code > impl< W: < a class = "trait" href = "https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title = "trait std::io::Write" > Write< / a > > < a class = "trait" href = "https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title = "trait std::io::Write" > Write< / a > for < a class = "struct" href = "../../deflate/write/struct.ZlibEncoder.html" title = "struct deflate::write::ZlibEncoder" > ZlibEncoder< / a > < W> < / code > < / span > < span class = 'out-of-band' > < div class = 'ghost' > < / div > < a class = 'srclink' href = '../../src/deflate/writer.rs.html#254-278' title = 'goto source code' > [src]< / a > < / span > < / h3 >
2017-07-14 23:30:16 +00:00
< div class = 'impl-items' > < h4 id = 'method.write' class = "method" > < span id = 'write.v' class = 'invisible' > < code > fn < a href = 'https://doc.rust-lang.org/nightly/std/io/trait.Write.html#tymethod.write' class = 'fnname' > write< / a > (& mut self, buf: < a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.slice.html" > & [< / a > < a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.u8.html" > u8< / a > < a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.slice.html" > ]< / a > ) -> < a class = "type" href = "https://doc.rust-lang.org/nightly/std/io/error/type.Result.html" title = "type std::io::error::Result" > Result< / a > < < a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.usize.html" > usize< / a > > < / code > < / span > < / h4 >
< div class = 'docblock' > < p > Write a buffer into this object, returning how many bytes were written. < a href = "https://doc.rust-lang.org/nightly/std/io/trait.Write.html#tymethod.write" > Read more< / a > < / p >
< / div > < h4 id = 'method.flush' class = "method" > < span id = 'flush.v' class = 'invisible' > < code > fn < a href = 'https://doc.rust-lang.org/nightly/std/io/trait.Write.html#tymethod.flush' class = 'fnname' > flush< / a > (& mut self) -> < a class = "type" href = "https://doc.rust-lang.org/nightly/std/io/error/type.Result.html" title = "type std::io::error::Result" > Result< / a > < < a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.tuple.html" > ()< / a > > < / code > < / span > < / h4 >
< div class = 'docblock' > < p > Flush the encoder.< / p >
< p > This will flush the encoder, emulating the Sync flush method from Zlib.
This essentially finishes the current block, and sends an additional empty stored block to
the writer.< / p >
< / div > < h4 id = 'method.write_all' class = "method" > < span id = 'write_all.v' class = 'invisible' > < code > fn < a href = 'https://doc.rust-lang.org/nightly/std/io/trait.Write.html#method.write_all' class = 'fnname' > write_all< / a > (& mut self, buf: < a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.slice.html" > & [< / a > < a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.u8.html" > u8< / a > < a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.slice.html" > ]< / a > ) -> < a class = "enum" href = "https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title = "enum core::result::Result" > Result< / a > < < a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.tuple.html" > ()< / a > , < a class = "struct" href = "https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title = "struct std::io::error::Error" > Error< / a > > < / code > < div class = 'since' title = 'Stable since Rust version 1.0.0' > 1.0.0< / div > < / span > < / h4 >
< div class = 'docblock' > < p > Attempts to write an entire buffer into this write. < a href = "https://doc.rust-lang.org/nightly/std/io/trait.Write.html#method.write_all" > Read more< / a > < / p >
< / div > < h4 id = 'method.write_fmt' class = "method" > < span id = 'write_fmt.v' class = 'invisible' > < code > fn < a href = 'https://doc.rust-lang.org/nightly/std/io/trait.Write.html#method.write_fmt' class = 'fnname' > write_fmt< / a > (& mut self, fmt: < a class = "struct" href = "https://doc.rust-lang.org/nightly/core/fmt/struct.Arguments.html" title = "struct core::fmt::Arguments" > Arguments< / a > ) -> < a class = "enum" href = "https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title = "enum core::result::Result" > Result< / a > < < a class = "primitive" href = "https://doc.rust-lang.org/nightly/std/primitive.tuple.html" > ()< / a > , < a class = "struct" href = "https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title = "struct std::io::error::Error" > Error< / a > > < / code > < div class = 'since' title = 'Stable since Rust version 1.0.0' > 1.0.0< / div > < / span > < / h4 >
< div class = 'docblock' > < p > Writes a formatted string into this writer, returning any error encountered. < a href = "https://doc.rust-lang.org/nightly/std/io/trait.Write.html#method.write_fmt" > Read more< / a > < / p >
< / div > < h4 id = 'method.by_ref' class = "method" > < span id = 'by_ref.v' class = 'invisible' > < code > fn < a href = 'https://doc.rust-lang.org/nightly/std/io/trait.Write.html#method.by_ref' class = 'fnname' > by_ref< / a > (& mut self) -> & mut Self< / code > < div class = 'since' title = 'Stable since Rust version 1.0.0' > 1.0.0< / div > < / span > < / h4 >
< div class = 'docblock' > < p > Creates a " by reference" adaptor for this instance of < code > Write< / code > . < a href = "https://doc.rust-lang.org/nightly/std/io/trait.Write.html#method.by_ref" > Read more< / a > < / p >
2017-07-16 21:37:37 +00:00
< / div > < / div > < h3 class = 'impl' > < span class = 'in-band' > < code > impl< W: < a class = "trait" href = "https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title = "trait std::io::Write" > Write< / a > > < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html" title = "trait core::ops::drop::Drop" > Drop< / a > for < a class = "struct" href = "../../deflate/write/struct.ZlibEncoder.html" title = "struct deflate::write::ZlibEncoder" > ZlibEncoder< / a > < W> < / code > < / span > < span class = 'out-of-band' > < div class = 'ghost' > < / div > < a class = 'srclink' href = '../../src/deflate/writer.rs.html#280-291' title = 'goto source code' > [src]< / a > < / span > < / h3 >
2017-07-14 23:30:16 +00:00
< div class = 'impl-items' > < h4 id = 'method.drop' class = "method" > < span id = 'drop.v' class = 'invisible' > < code > fn < a href = 'https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop' class = 'fnname' > drop< / a > (& mut self)< / code > < / span > < / h4 >
< div class = 'docblock' > < p > When the encoder is dropped, output the rest of the data.< / p >
< p > WARNING: This may silently fail if writing fails, so using this to finish encoding
for writers where writing might fail is not recommended, for that call
< a href = "#method.finish" > < code > finish()< / code > < / a > instead.< / p >
< / div > < / div > < / section >
< section id = 'search' class = "content hidden" > < / section >
< section class = "footer" > < / section >
< aside id = "help" class = "hidden" >
< div >
< h1 class = "hidden" > Help< / h1 >
< div class = "shortcuts" >
< h2 > Keyboard Shortcuts< / h2 >
< dl >
< dt > ?< / dt >
< dd > Show this help dialog< / dd >
< dt > S< / dt >
< dd > Focus the search field< / dd >
< dt > ⇤ < / dt >
< dd > Move up in search results< / dd >
< dt > ⇥ < / dt >
< dd > Move down in search results< / dd >
< dt > ⏎ < / dt >
< dd > Go to active search result< / dd >
< dt > +< / dt >
< dd > Collapse/expand all sections< / dd >
< / dl >
< / div >
< div class = "infos" >
< h2 > Search Tricks< / h2 >
< p >
Prefix searches with a type followed by a colon (e.g.
< code > fn:< / code > ) to restrict the search to a given type.
< / p >
< p >
Accepted types are: < code > fn< / code > , < code > mod< / code > ,
< code > struct< / code > , < code > enum< / code > ,
< code > trait< / code > , < code > type< / code > , < code > macro< / code > ,
and < code > const< / code > .
< / p >
< p >
Search functions by type signature (e.g.
< code > vec -> usize< / code > or < code > * -> vec< / code > )
< / p >
< / div >
< / div >
< / aside >
< script >
window.rootPath = "../../";
window.currentCrate = "deflate";
< / script >
< script src = "../../main.js" > < / script >
< script defer src = "../../search-index.js" > < / script >
< / body >
< / html >