use crate::Error;
use libp2p::{kad::RecordKey, PeerId};
use sn_protocol::PrettyPrintRecordKey;
use strum::Display;
#[derive(Debug, Clone, Display, Copy)]
pub enum Marker<'a> {
NodeConnectedToNetwork,
PeerAddedToRoutingTable(&'a PeerId),
PeerRemovedFromRoutingTable(&'a PeerId),
PeersInRoutingTable(usize),
IntervalReplicationTriggered,
FetchingKeysForReplication {
fetching_keys_len: usize,
},
ValidChunkRecordPutFromNetwork(&'a PrettyPrintRecordKey<'a>),
ValidRegisterRecordPutFromNetwork(&'a PrettyPrintRecordKey<'a>),
ValidSpendRecordPutFromNetwork(&'a PrettyPrintRecordKey<'a>),
ValidScratchpadRecordPutFromNetwork(&'a PrettyPrintRecordKey<'a>),
ValidPaidChunkPutFromClient(&'a PrettyPrintRecordKey<'a>),
ValidPaidRegisterPutFromClient(&'a PrettyPrintRecordKey<'a>),
ValidSpendPutFromClient(&'a PrettyPrintRecordKey<'a>),
ValidScratchpadRecordPutFromClient(&'a PrettyPrintRecordKey<'a>),
RecordRejected(&'a PrettyPrintRecordKey<'a>, &'a Error),
IntervalBadNodesCheckTriggered,
}
impl<'a> Marker<'a> {
pub fn log(&self) {
info!("{self:?}");
}
pub fn fetching_keys_for_replication(keys: &[(PeerId, RecordKey)]) -> Self {
Marker::FetchingKeysForReplication {
fetching_keys_len: keys.len(),
}
}
}