pub struct DebugProxyClient<R: ReadWrite> {
pub socket: R,
pub noack_mode: bool,
}Expand description
Client for interacting with the iOS debug proxy service
Implements the GDB Remote Serial Protocol for communicating with debugserver on iOS devices. Handles packet formatting, checksums, and acknowledgments.
Fields§
§socket: RThe underlying socket connection to debugproxy
noack_mode: boolFlag indicating whether ACK mode is disabled
Implementations§
Source§impl<R: ReadWrite> DebugProxyClient<R>
impl<R: ReadWrite> DebugProxyClient<R>
Sourcepub fn new(socket: R) -> Self
pub fn new(socket: R) -> Self
Creates a new debug proxy client with default settings
§Arguments
socket- Established connection to debugproxy service
Sourcepub fn into_inner(self) -> R
pub fn into_inner(self) -> R
Consumes the client and returns the underlying socket
Sourcepub async fn send_command(
&mut self,
command: DebugserverCommand,
) -> Result<Option<String>, IdeviceError>
pub async fn send_command( &mut self, command: DebugserverCommand, ) -> Result<Option<String>, IdeviceError>
Sourcepub async fn read_response(&mut self) -> Result<Option<String>, IdeviceError>
pub async fn read_response(&mut self) -> Result<Option<String>, IdeviceError>
Sourcepub async fn send_ack(&mut self) -> Result<(), IdeviceError>
pub async fn send_ack(&mut self) -> Result<(), IdeviceError>
Sourcepub async fn send_noack(&mut self) -> Result<(), IdeviceError>
pub async fn send_noack(&mut self) -> Result<(), IdeviceError>
Sourcepub fn set_ack_mode(&mut self, enabled: bool)
pub fn set_ack_mode(&mut self, enabled: bool)
Enables or disables ACK mode
When disabled, the client won’t expect or send acknowledgments
§Arguments
enabled- Whether to enable ACK mode
Trait Implementations§
Source§impl RsdService for DebugProxyClient<Box<dyn ReadWrite>>
impl RsdService for DebugProxyClient<Box<dyn ReadWrite>>
fn rsd_service_name() -> Cow<'static, str>
async fn from_stream(stream: Box<dyn ReadWrite>) -> Result<Self, IdeviceError>
fn connect_rsd(
provider: &mut impl RsdProvider,
handshake: &mut RsdHandshake,
) -> impl Future<Output = Result<Self, IdeviceError>>where
Self: RsdService,
Auto Trait Implementations§
impl<R> Freeze for DebugProxyClient<R>where
R: Freeze,
impl<R> RefUnwindSafe for DebugProxyClient<R>where
R: RefUnwindSafe,
impl<R> Send for DebugProxyClient<R>
impl<R> Sync for DebugProxyClient<R>
impl<R> Unpin for DebugProxyClient<R>
impl<R> UnsafeUnpin for DebugProxyClient<R>where
R: UnsafeUnpin,
impl<R> UnwindSafe for DebugProxyClient<R>where
R: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more