time: clean up redundant check in Wheel::poll() (#5574)

The condition checked in the and_then() call is the same as is checked
in the match below, so we can clean it up by just matching on
next_expiration() directly.
This commit is contained in:
Marcelo Diop-Gonzalez 2023-03-23 12:53:54 -04:00 committed by GitHub
parent 768ede65c1
commit 1cb7bf11b3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -148,23 +148,13 @@ impl Wheel {
return Some(handle);
}
// under what circumstances is poll.expiration Some vs. None?
let expiration = self.next_expiration().and_then(|expiration| {
if expiration.deadline > now {
None
} else {
Some(expiration)
}
});
match expiration {
Some(ref expiration) if expiration.deadline > now => return None,
Some(ref expiration) => {
match self.next_expiration() {
Some(ref expiration) if expiration.deadline <= now => {
self.process_expiration(expiration);
self.set_elapsed(expiration.deadline);
}
None => {
_ => {
// in this case the poll did not indicate an expiration
// _and_ we were not able to find a next expiration in
// the current list of timers. advance to the poll's