use std::fmt::Debug;
use crate::agent::route_provider::{
dynamic_routing::{health_check::HealthCheckStatus, node::Node},
RoutesStats,
};
pub trait RoutingSnapshot: Send + Sync + Clone + Debug {
#[allow(unused)]
fn has_nodes(&self) -> bool;
fn next_node(&self) -> Option<Node>;
fn next_n_nodes(&self, n: usize) -> Vec<Node>;
fn sync_nodes(&mut self, nodes: &[Node]) -> bool;
fn update_node(&mut self, node: &Node, health: HealthCheckStatus) -> bool;
fn routes_stats(&self) -> RoutesStats;
}