From f6cc68cb98ba106ef7eaa8d85643f8cfd53937d4 Mon Sep 17 00:00:00 2001 From: Jackson Coxson Date: Mon, 26 May 2025 16:01:47 -0600 Subject: [PATCH] Flush after socket write --- idevice/src/services/debug_proxy.rs | 4 ++++ idevice/src/services/dvt/remote_server.rs | 1 + 2 files changed, 5 insertions(+) diff --git a/idevice/src/services/debug_proxy.rs b/idevice/src/services/debug_proxy.rs index 022d5f2..aaa5f25 100644 --- a/idevice/src/services/debug_proxy.rs +++ b/idevice/src/services/debug_proxy.rs @@ -114,6 +114,7 @@ impl DebugProxyClient { // Send the packet self.socket.write_all(packet.as_bytes()).await?; + self.socket.flush().await?; // Read the response let response = self.read_response().await?; @@ -173,6 +174,7 @@ impl DebugProxyClient { /// Returns `IdeviceError` if writing fails pub async fn send_raw(&mut self, bytes: &[u8]) -> Result<(), IdeviceError> { self.socket.write_all(bytes).await?; + self.socket.flush().await?; Ok(()) } @@ -254,6 +256,7 @@ impl DebugProxyClient { /// Returns `IdeviceError` if writing fails pub async fn send_ack(&mut self) -> Result<(), IdeviceError> { self.socket.write_all(b"+").await?; + self.socket.flush().await?; Ok(()) } @@ -263,6 +266,7 @@ impl DebugProxyClient { /// Returns `IdeviceError` if writing fails pub async fn send_noack(&mut self) -> Result<(), IdeviceError> { self.socket.write_all(b"-").await?; + self.socket.flush().await?; Ok(()) } diff --git a/idevice/src/services/dvt/remote_server.rs b/idevice/src/services/dvt/remote_server.rs index 9e91a53..91e9684 100644 --- a/idevice/src/services/dvt/remote_server.rs +++ b/idevice/src/services/dvt/remote_server.rs @@ -202,6 +202,7 @@ impl RemoteServerClient { let message = Message::new(mheader, pheader, aux, data); debug!("Sending message: {message:#?}"); self.idevice.write_all(&message.serialize()).await?; + self.idevice.flush().await?; Ok(()) }