use thiserror::Error;
use nodedb_cluster::calvin::sequencer::error::SequencerError;
#[derive(Debug, Error)]
pub enum OllpError {
#[error("OLLP retry limit exhausted after {retries} retries")]
Exhausted { retries: u32 },
#[error("OLLP circuit open for predicate class {predicate_class:#x}; retry later")]
CircuitOpen { predicate_class: u64 },
#[error("OLLP tenant retry budget exceeded for tenant {tenant}; retry later")]
TenantBudgetExceeded { tenant: u64 },
#[error("OLLP sequencer error: {0}")]
Sequencer(#[from] SequencerError),
}