Skip to content

Commit 5bde2b9

Browse files
committed
add QuotaResource.get_usage_percentage()
also add some missing doc comments
1 parent ea15774 commit 5bde2b9

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/types/quota.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ pub enum QuotaResourceName {
1010
Storage,
1111
/// Number of messages
1212
Message,
13+
/// A different/custom resource
1314
Atom(String),
1415
}
1516

@@ -26,6 +27,7 @@ impl<'a> From<QuotaResourceNameRef<'a>> for QuotaResourceName {
2627
/// 5.1. QUOTA Response (https://tools.ietf.org/html/rfc2087#section-5.1)
2728
#[derive(Debug, Eq, PartialEq, Hash, Clone)]
2829
pub struct QuotaResource {
30+
/// name of the resource
2931
pub name: QuotaResourceName,
3032
/// current usage of the resource
3133
pub usage: u64,
@@ -43,11 +45,19 @@ impl<'a> From<QuotaResourceRef<'a>> for QuotaResource {
4345
}
4446
}
4547

48+
impl QuotaResource {
49+
/// gets the usage percentage of a QuotaResource
50+
pub fn get_usage_percentage(self) -> u64 {
51+
self.usage.saturating_mul(100) / self.limit
52+
}
53+
}
54+
4655
/// 5.1. QUOTA Response (https://tools.ietf.org/html/rfc2087#section-5.1)
4756
#[derive(Debug, Eq, PartialEq, Hash, Clone)]
4857
pub struct Quota {
4958
/// quota root name
5059
pub root_name: String,
60+
/// quota resources for this quota
5161
pub resources: Vec<QuotaResource>,
5262
}
5363

0 commit comments

Comments
 (0)