//! etcd v3 discovery adapter building blocks.

pub mod client;
pub mod codec;
pub mod config;
pub mod error;
mod lease;
pub mod registry;
mod validation;
pub mod watch;

pub use client::EtcdClientFactory;
pub use codec::{
    EtcdInstanceKey, decode_instance, encode_instance, instance_key, service_prefix,
    split_instance_key,
};
pub use config::{EtcdAuthConfig, EtcdDiscoveryConfig};
pub use error::{EtcdDiscoveryError, EtcdDiscoveryResult};
pub use lease::{EtcdLeaseState, EtcdLeaseStatus};
pub use registry::EtcdRegistry;
pub use watch::{BackoffConfig, EtcdWatchStream, WatchEvent, WatchEventKind};
