1#![doc(html_logo_url = "https://raw.githubusercontent.com/al8n/memberlist/main/art/logo_72x72.png")]
3#![forbid(unsafe_code)]
4#![deny(warnings)]
5#![allow(clippy::type_complexity, unexpected_cfgs)]
6#![cfg_attr(docsrs, feature(doc_cfg))]
7#![cfg_attr(docsrs, allow(unused_attributes))]
8
9pub use smallvec_wrapper::smallvec_wrapper;
10
11pub use bytes;
12
13mod message;
14pub use message::*;
15
16mod ack;
17pub use ack::*;
18
19mod alive;
20pub use alive::*;
21
22mod bad_state;
23pub use bad_state::*;
24
25mod err;
26pub use err::*;
27
28mod label;
29pub use label::*;
30
31mod meta;
32pub use meta::*;
33
34#[cfg(feature = "metrics")]
35#[cfg_attr(docsrs, doc(cfg(feature = "metrics")))]
36mod metrics_label;
37#[cfg(feature = "metrics")]
38#[cfg_attr(docsrs, doc(cfg(feature = "metrics")))]
39pub use metrics_label::MetricLabels;
40
41mod cidr_policy;
42pub use cidr_policy::*;
43
44mod ping;
45pub use ping::*;
46
47mod push_pull_state;
48pub use push_pull_state::*;
49
50mod server;
51pub use server::*;
52
53#[cfg(feature = "encryption")]
54#[cfg_attr(docsrs, doc(cfg(feature = "encryption")))]
55mod secret;
56#[cfg(feature = "encryption")]
57#[cfg_attr(docsrs, doc(cfg(feature = "encryption")))]
58pub use secret::*;
59
60mod version;
61pub use version::*;
62
63pub use smallvec_wrapper::*;
64
65pub use nodecraft::{
66 CheapClone, Node, NodeAddress, NodeAddressError, NodeId, NodeIdTransformError, NodeTransformError,
67};
68
69const MAX_ENCODED_LEN_SIZE: usize = core::mem::size_of::<u32>();