diff --git a/ipmb/src/bus_controller.rs b/ipmb/src/bus_controller.rs index e5eb1db..ac80116 100644 --- a/ipmb/src/bus_controller.rs +++ b/ipmb/src/bus_controller.rs @@ -21,7 +21,6 @@ pub struct BusController { sender: Sender, endpoints: Vec, message_buffer: Vec<(Instant, EncodedMessage)>, - message_buffer_swap: Vec<(Instant, EncodedMessage)>, io_hub: IoHub, last_detect_reachable: Instant, } @@ -41,7 +40,6 @@ impl BusController { sender, endpoints: Default::default(), message_buffer: Default::default(), - message_buffer_swap: Default::default(), io_hub, last_detect_reachable: Instant::now(), } @@ -81,13 +79,10 @@ impl BusController { let (remain, _) = self.handle_message(msg); if let Some(remain) = remain { if expire > now { - self.message_buffer_swap.push((expire, remain)); + self.message_buffer.push((expire, remain)); } } } - - self.message_buffer = message_buffer; - mem::swap(&mut self.message_buffer, &mut self.message_buffer_swap); } self.detect_reachable(now); diff --git a/ipmb/src/lib.rs b/ipmb/src/lib.rs index 4f17f2b..756a4d4 100644 --- a/ipmb/src/lib.rs +++ b/ipmb/src/lib.rs @@ -517,7 +517,7 @@ impl Rule { timeout_count += 1; if timeout_count > 5 { - return Err(JoinError::VersionMismatch(Version((0, 0, 0)))); + return Err(JoinError::Timeout); } wait!(); diff --git a/ipmb/src/platform/macos/mod.rs b/ipmb/src/platform/macos/mod.rs index 23874a3..77d194f 100644 --- a/ipmb/src/platform/macos/mod.rs +++ b/ipmb/src/platform/macos/mod.rs @@ -410,7 +410,7 @@ impl EncodedMessage { Err(Error::Disconnect) } else { log::error!("mach_msg failed: {r}"); - Ok(()) + Err(Error::Disconnect) }; } }