slack_morphism/ratectl/
tier.rs1use crate::ratectl::*;
2use lazy_static::lazy_static;
3use std::collections::HashMap;
4
5#[derive(Debug, Eq, PartialEq, Clone, Hash)]
6pub enum SlackApiMethodRateTier {
7 Tier1,
8 Tier2,
9 Tier3,
10 Tier4,
11}
12
13lazy_static! {
14 pub static ref SLACK_TIERS_DEFAULT_LIMITS_MAP: HashMap<SlackApiMethodRateTier, SlackApiRateControlLimit> =
15 vec![
16 (
17 SlackApiMethodRateTier::Tier1,
18 SlackApiRateControlLimit::new(5, std::time::Duration::from_secs(60))
19 ),
20 (
21 SlackApiMethodRateTier::Tier2,
22 SlackApiRateControlLimit::new(20, std::time::Duration::from_secs(60))
23 ),
24 (
25 SlackApiMethodRateTier::Tier3,
26 SlackApiRateControlLimit::new(50, std::time::Duration::from_secs(60))
27 ),
28 (
29 SlackApiMethodRateTier::Tier4,
30 SlackApiRateControlLimit::new(100, std::time::Duration::from_secs(60))
31 )
32 ]
33 .into_iter()
34 .collect();
35}