use super::page::Page;
pub fn gossip_order(from: &Page, into: &mut Page) {
let delta = from.order.owed_to(into.order_context());
let _ = into.order.absorb(from.station(), &delta);
}
pub fn gossip_fields(from: &Page, into: &mut Page) {
let delta = from.fields.owed_to(into.fields_context());
let _ = into.fields.absorb(from.station(), &delta);
}
pub fn gossip_para(from: &Page, into: &mut Page) {
let delta = from.para.owed_to(into.para_context());
let _ = into.para.absorb(from.station(), &delta);
for (dot, ch) in from.chars() {
let _ = into.chars.entry(*dot).or_insert(*ch);
}
}
pub fn gossip_table(from: &Page, into: &mut Page) {
let delta = from.table.owed_to(into.table_context());
let _ = into.table.absorb(from.station(), &delta);
}
pub fn gossip_page(from: &Page, into: &mut Page) {
gossip_order(from, into);
gossip_fields(from, into);
gossip_para(from, into);
gossip_table(from, into);
}