use nodedb_graph::{AlgoParams, GraphAlgorithm};
#[derive(
Debug,
Clone,
PartialEq,
serde::Serialize,
serde::Deserialize,
zerompk::ToMessagePack,
zerompk::FromMessagePack,
)]
pub struct BspSuperstepPlan {
pub algorithm: GraphAlgorithm,
pub params: AlgoParams,
pub superstep: u32,
pub global_n: usize,
pub owned_vshards: Vec<u32>,
pub incoming_contributions: Vec<(String, f64)>,
pub rank_seed: Vec<(String, f64)>,
pub global_dangling: f64,
pub personalization_sum: f64,
pub read_cut_marker: u64,
pub system_as_of: Option<i64>,
}
#[derive(
Debug,
Clone,
Default,
PartialEq,
serde::Serialize,
serde::Deserialize,
zerompk::ToMessagePack,
zerompk::FromMessagePack,
)]
pub struct BspSuperstepResult {
pub local_delta: f64,
pub outbound: Vec<(u32, String, f64)>,
pub rank_vec: Vec<f64>,
pub vertex_count: usize,
pub node_names: Vec<String>,
pub dangling_sum: f64,
pub seed_hits: usize,
pub system_as_of: Option<i64>,
}