use crate::service::{self, discover};
pub trait Audit<'d, I, A, D, const N: usize>
where
D: discover::Output,
{
fn resolved(
&mut self,
src: &D,
set: &service::Snapshot<service::Endpoint<I, A>, N>,
meta: &D::Metadata<'d>,
);
fn stale(&mut self, src: &D, rev: service::Revision);
fn expired(&mut self, src: &D, rev: service::Revision);
fn reconciled(&mut self, src: &D, rev: service::Revision, change: service::Change);
}
pub trait Failure<'d, I, A, D, const N: usize>
where
D: discover::Output,
{
fn failed(&mut self, src: &D, error: D::Error);
fn rejected(&mut self, src: &D, error: service::Reconcile);
}