use super::bucket::cluster::ClusterLimit;
pub enum DistributionFormula {
RemainingPercentage(f32),
#[allow(dead_code)]
TotalPercentage(f32),
}
impl DistributionFormula {
pub fn portion(&self, limit: &ClusterLimit) -> u64 {
match self {
DistributionFormula::RemainingPercentage(percentage) => {
((limit.cluster_remaining as f32) * percentage) as u64
}
DistributionFormula::TotalPercentage(percentage) => {
((limit.max_requests as f32) * percentage) as u64
}
}
}
}