Files
adler32
aho_corasick
alloc_no_stdlib
alloc_stdlib
ansi_term
assert_matches
atty
backtrace
backtrace_sys
bincode
binjs
binjs_convert_from_json
binjs_decode
binjs_dump
binjs_encode
binjs_es6
binjs_generate_prediction_tables
binjs_generic
binjs_io
binjs_json
bytes
context
entropy
io
multipart
binjs_meta
binjs_shared
bitflags
brotli
concat
enc
backward_references
bit_cost.rsblock_split.rsblock_splitter.rsbrotli_bit_stream.rscluster.rscombined_alloc.rscommand.rscompat.rscompress_fragment.rscompress_fragment_two_pass.rsconstants.rscontext_map_entropy.rsdictionary_hash.rsencode.rsentropy_encode.rsfast_log.rsfind_stride.rsfixed_queue.rshistogram.rsinput_pair.rsinterface.rsir_interpret.rsliteral_cost.rsmetablock.rsmod.rsmultithreading.rsparameters.rspdf.rsprior_eval.rsreader.rssinglethreading.rsstatic_dict.rsstatic_dict_lut.rsstride_eval.rsthreading.rsutf8_util.rsutil.rsvectorization.rsweights.rsworker_pool.rswriter.rs
ffi
brotli_decompressor
byteorder
c2_chacha
cfg_if
clap
app
args
completions
crc32fast
derive_more
downcast_rs
either
env_logger
filter
fmt
failure
flate2
deflate
ffi
gz
zlib
getrandom
humantime
inflector
cases
camelcase
case
classcase
kebabcase
pascalcase
screamingsnakecase
sentencecase
snakecase
tablecase
titlecase
traincase
numbers
suffix
itertools
adaptors
combinations.rscombinations_with_replacement.rsconcat_impl.rscons_tuples_impl.rsdiff.rseither_or_both.rsexactly_one_err.rsformat.rsfree.rsgroup_map.rsgroupbylazy.rsimpl_macros.rsintersperse.rskmerge_impl.rslazy_buffer.rslib.rsmerge_join.rsminmax.rsmultipeek_impl.rspad_tail.rspeeking_take_while.rspermutations.rsprocess_results_impl.rsput_back_n_impl.rsrciter_impl.rsrepeatn.rssize_hint.rssources.rstee.rstuple_impl.rsunique_impl.rswith_position.rszip_eq_impl.rszip_longest.rsziptuple.rs
itoa
lazy_static
libc
unix
log
lzw
memchr
miniz_oxide
nom
bits
branch
bytes
character
combinator
multi
number
sequence
ppv_lite86
proc_macro2
quick_error
quote
rand
distributions
weighted
rngs
seq
rand_chacha
rand_core
rand_pcg
range_encoding
regex
regex_syntax
ast
hir
unicode_tables
rustc_demangle
ryu
serde
de
private
ser
serde_derive
serde_json
smallvec
strsim
syn
attr.rsbigint.rsbuffer.rscustom_keyword.rscustom_punctuation.rsdata.rsderive.rsdiscouraged.rserror.rsexport.rsexpr.rsext.rsgenerics.rsgroup.rsident.rslib.rslifetime.rslit.rslookahead.rsmac.rsmacros.rsop.rsparse.rsparse_macro_input.rsparse_quote.rspath.rsprint.rspunctuated.rssealed.rsspan.rsspanned.rsthread.rstoken.rstt.rsty.rs
termcolor
textwrap
thread_local
unicode_width
unicode_xid
vec_map
weedle
which
xml
reader
parser
writer
>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
//! Buffer wrappers implementing default so we can allocate the buffers with `Box::default()` //! to avoid stack copies. Box::new() doesn't at the moment, and using a vec means we would lose //! static length info. use crate::deflate::core::{LZ_DICT_SIZE, MAX_MATCH_LEN}; /// Size of the buffer of lz77 encoded data. pub const LZ_CODE_BUF_SIZE: usize = 64 * 1024; /// Size of the output buffer. pub const OUT_BUF_SIZE: usize = (LZ_CODE_BUF_SIZE * 13) / 10; pub const LZ_DICT_FULL_SIZE: usize = LZ_DICT_SIZE + MAX_MATCH_LEN - 1 + 1; pub struct HashBuffers { pub dict: [u8; LZ_DICT_FULL_SIZE], pub next: [u16; LZ_DICT_SIZE], pub hash: [u16; LZ_DICT_SIZE], } impl HashBuffers { #[inline] pub fn reset(&mut self) { *self = HashBuffers::default(); } } impl Default for HashBuffers { fn default() -> HashBuffers { HashBuffers { dict: [0; LZ_DICT_FULL_SIZE], next: [0; LZ_DICT_SIZE], hash: [0; LZ_DICT_SIZE], } } } pub struct LocalBuf { pub b: [u8; OUT_BUF_SIZE], } impl Default for LocalBuf { fn default() -> LocalBuf { LocalBuf { b: [0; OUT_BUF_SIZE], } } }