Compare commits
1 Commits
master
...
instant_ti
Author | SHA1 | Date | |
---|---|---|---|
c4cd7cdc79 |
28
src/util.rs
28
src/util.rs
@ -33,25 +33,23 @@ pub fn request_multiple_devices<
|
|||||||
let interval = Duration::from_millis(10);
|
let interval = Duration::from_millis(10);
|
||||||
let mut received = 0usize;
|
let mut received = 0usize;
|
||||||
let res = loop {
|
let res = loop {
|
||||||
if timeout.map(|t| t < slept).unwrap_or(true) {
|
match timeout {
|
||||||
break if let Some(cause) = err {
|
Some(t) if t < slept => {
|
||||||
cause
|
break if let Some(cause) = err {
|
||||||
} else {
|
cause
|
||||||
Err(FidoErrorKind::Timeout.into())
|
} else {
|
||||||
};
|
Err(FidoErrorKind::Timeout.into())
|
||||||
}
|
};
|
||||||
if received == handles.len() {
|
}
|
||||||
break err.unwrap();
|
_ => (),
|
||||||
}
|
}
|
||||||
|
if timeout.map(|t| t < slept).unwrap_or(true) {}
|
||||||
if let Ok(msg) = rx.recv_timeout(interval) {
|
if let Ok(msg) = rx.recv_timeout(interval) {
|
||||||
received += 1;
|
received += 1;
|
||||||
match msg {
|
match msg {
|
||||||
e @ Err(_) => {
|
e @ Err(_) if received == handles.len() => break e,
|
||||||
err = Some(e);
|
e @ Err(_) => err = Some(e),
|
||||||
}
|
res @ Ok(_) => break res,
|
||||||
res @ Ok(_) => {
|
|
||||||
break res;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
slept += interval;
|
slept += interval;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user