redis_protocol/
lib.rs

1#![allow(clippy::needless_doctest_main)]
2#![allow(clippy::unnecessary_fallible_conversions)]
3#![allow(clippy::mutable_key_type)]
4#![allow(clippy::derivable_impls)]
5#![allow(clippy::enum_variant_names)]
6#![allow(clippy::iter_kv_map)]
7#![allow(clippy::len_without_is_empty)]
8#![allow(clippy::vec_init_then_push)]
9#![allow(clippy::while_let_on_iterator)]
10#![allow(clippy::type_complexity)]
11#![allow(clippy::new_without_default)]
12#![cfg_attr(docsrs, deny(rustdoc::broken_intra_doc_links))]
13#![cfg_attr(docsrs, feature(doc_cfg))]
14#![cfg_attr(docsrs, allow(unused_attributes))]
15#![cfg_attr(all(not(test), not(feature = "std")), no_std)]
16#![doc = include_str!("../README.md")]
17
18extern crate alloc;
19extern crate core;
20
21#[macro_use]
22extern crate log;
23#[macro_use]
24extern crate cookie_factory;
25
26#[cfg(feature = "bytes")]
27#[cfg_attr(docsrs, doc(cfg(feature = "bytes")))]
28pub extern crate bytes;
29#[cfg(feature = "bytes")]
30#[cfg_attr(docsrs, doc(cfg(feature = "bytes")))]
31pub extern crate bytes_utils;
32#[cfg(feature = "codec")]
33#[cfg_attr(docsrs, doc(cfg(feature = "codec")))]
34pub extern crate tokio_util;
35
36#[macro_use]
37mod macros;
38/// Error types.
39pub mod error;
40mod int2dec;
41mod utils;
42
43///  A RESP2 interface.
44#[cfg(feature = "resp2")]
45#[cfg_attr(docsrs, doc(cfg(feature = "resp2")))]
46pub mod resp2;
47/// A RESP3 interface.
48#[cfg(feature = "resp3")]
49#[cfg_attr(docsrs, doc(cfg(feature = "resp3")))]
50pub mod resp3;
51/// Common types across RESP versions.
52pub mod types;
53
54/// Zero-copy RESP2 and RESP3 [codec](https://docs.rs/tokio-util/latest/tokio_util/codec/index.html) interfaces.
55#[cfg(feature = "codec")]
56#[cfg_attr(docsrs, doc(cfg(feature = "codec")))]
57pub mod codec;
58
59/// Traits for converting between frame types.
60#[cfg(feature = "convert")]
61#[cfg_attr(docsrs, doc(cfg(feature = "convert")))]
62pub mod convert;
63
64#[cfg(feature = "bytes")]
65pub use utils::zero_extend;
66pub use utils::{digits_in_i64, digits_in_usize, redis_keyslot, str_to_f64};
67
68#[deprecated(since = "5.1.0", note = "Use `digits_in_usize` instead.")]
69pub fn digits_in_number(d: usize) -> usize {
70  digits_in_usize(d)
71}