Skip to content

Commit

Permalink
sync: use usize instead of u32 for SemaphorePermit::split
Browse files Browse the repository at this point in the history
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
  • Loading branch information
Darksonn committed Apr 11, 2024
1 parent bdf4c14 commit 51343e1
Showing 1 changed file with 16 additions and 6 deletions.
22 changes: 16 additions & 6 deletions tokio/src/sync/semaphore.rs
Original file line number Diff line number Diff line change
Expand Up @@ -994,7 +994,12 @@ impl<'a> SemaphorePermit<'a> {
/// Splits `n` permits from `self` and returns a new [`SemaphorePermit`] instance that holds `n` permits.
///
/// If there are insufficient permits and it's not possible to reduce by `n`, returns `None`.
pub fn split(&mut self, n: u32) -> Option<Self> {
pub fn split(&mut self, n: usize) -> Option<Self> {
let n = match u32::try_from(n) {
Ok(n) => n,
Err(_) => return None,
};

if n > self.permits {
return None;
}
Expand All @@ -1008,8 +1013,8 @@ impl<'a> SemaphorePermit<'a> {
}

/// Returns the number of permits held by `self`.
pub fn num_permits(&self) -> u32 {
self.permits
pub fn num_permits(&self) -> usize {
self.permits as usize
}
}

Expand Down Expand Up @@ -1047,7 +1052,12 @@ impl OwnedSemaphorePermit {
/// # Note
///
/// It will clone the owned `Arc<Semaphore>` to construct the new instance.
pub fn split(&mut self, n: u32) -> Option<Self> {
pub fn split(&mut self, n: usize) -> Option<Self> {
let n = match u32::try_from(n) {
Ok(n) => n,
Err(_) => return None,
};

if n > self.permits {
return None;
}
Expand All @@ -1066,8 +1076,8 @@ impl OwnedSemaphorePermit {
}

/// Returns the number of permits held by `self`.
pub fn num_permits(&self) -> u32 {
self.permits
pub fn num_permits(&self) -> usize {
self.permits as usize
}
}

Expand Down

0 comments on commit 51343e1

Please sign in to comment.