Skip to content

Commit 7e62405

Browse files
committed
Updated for clippy.
1 parent 838afc6 commit 7e62405

File tree

1 file changed

+23
-10
lines changed

1 file changed

+23
-10
lines changed

cas_client/src/retry_wrapper.rs

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,18 @@ pub enum RetryableReqwestError {
2020
RetryableError(CasClientError),
2121
}
2222

23+
struct ConnectionPermitInfo {
24+
permit: Option<ConnectionPermit>,
25+
transfer_size_if_known: Option<u64>,
26+
}
27+
2328
pub struct RetryWrapper {
2429
max_attempts: usize,
2530
base_delay_ms: u64,
2631
no_retry_on_429: bool,
2732
log_errors_as_info: bool,
2833
api_tag: &'static str,
29-
connection_permit: Option<Mutex<Option<(ConnectionPermit, Option<u64>)>>>,
34+
connection_permit: Option<Mutex<ConnectionPermitInfo>>,
3035
}
3136

3237
impl RetryWrapper {
@@ -61,8 +66,11 @@ impl RetryWrapper {
6166
self
6267
}
6368

64-
pub fn with_connection_permit(mut self, permit: ConnectionPermit, n_bytes: Option<u64>) -> Self {
65-
self.connection_permit = Some(Mutex::new(Some((permit, n_bytes))));
69+
pub fn with_connection_permit(mut self, permit: ConnectionPermit, transfer_size_if_known: Option<u64>) -> Self {
70+
self.connection_permit = Some(Mutex::new(ConnectionPermitInfo {
71+
permit: Some(permit),
72+
transfer_size_if_known,
73+
}));
6674
self
6775
}
6876

@@ -205,8 +213,8 @@ impl RetryWrapper {
205213
let (make_request, process_fn, try_count, self_) = retry_info.as_ref();
206214

207215
if let Some(p) = &self_.connection_permit {
208-
if let Some(p) = p.lock().await.as_mut() {
209-
p.0.transfer_starting()
216+
if let Some(p) = p.lock().await.permit.as_mut() {
217+
p.transfer_starting()
210218
}
211219
}
212220

@@ -227,21 +235,26 @@ impl RetryWrapper {
227235

228236
// Now, possibly adjust the connection permit.
229237
if let Some(permit_holder) = &self_.connection_permit {
230-
let mut maybe_permit = permit_holder.lock().await;
238+
let mut permit_info = permit_holder.lock().await;
231239

232240
match &processing_result {
233241
Ok(_) => {
234-
if let Some((permit, maybe_size)) = maybe_permit.take() {
235-
permit.report_completion(maybe_size.unwrap_or(reply_bytes), true).await;
242+
if let Some(permit) = permit_info.permit.take() {
243+
permit
244+
.report_completion(
245+
permit_info.transfer_size_if_known.unwrap_or(reply_bytes),
246+
true,
247+
)
248+
.await;
236249
}
237250
},
238251
Err(RetryableReqwestError::FatalError(_)) => {
239-
if let Some((permit, _)) = maybe_permit.take() {
252+
if let Some(permit) = permit_info.permit.take() {
240253
permit.report_completion(0, false).await;
241254
}
242255
},
243256
Err(RetryableReqwestError::RetryableError(_)) => {
244-
if let Some((permit, _)) = maybe_permit.as_ref() {
257+
if let Some(permit) = permit_info.permit.as_ref() {
245258
permit.report_retryable_failure().await;
246259
}
247260
},

0 commit comments

Comments
 (0)