pub struct RdpClient { /* private fields */ }Expand description
RDP remote desktop client.
Uses the RDP protocol to connect to Windows hosts. The actual protocol
wire-work (TLS, NLA, graphics pipeline) will be implemented in a follow-up
using the ironrdp crate ecosystem. For now the struct compiles and
exposes the full DesktopProtocol interface so that the rest of the
application (commands, WebSocket, frontend) can be wired end-to-end.
Implementations§
Trait Implementations§
Source§impl DesktopProtocol for RdpClient
impl DesktopProtocol for RdpClient
Source§fn start_frame_loop<'life0, 'async_trait>(
&'life0 self,
_frame_tx: UnboundedSender<FrameUpdate>,
_cancel: CancellationToken,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn start_frame_loop<'life0, 'async_trait>(
&'life0 self,
_frame_tx: UnboundedSender<FrameUpdate>,
_cancel: CancellationToken,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Start the frame update loop, sending
FrameUpdate messages via the
provided sender until the cancellation token is triggered.Source§fn send_key<'life0, 'async_trait>(
&'life0 self,
_key_code: u32,
_down: bool,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_key<'life0, 'async_trait>(
&'life0 self,
_key_code: u32,
_down: bool,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Send a keyboard event to the remote host.
Source§fn send_pointer<'life0, 'async_trait>(
&'life0 self,
_x: u16,
_y: u16,
_button_mask: u8,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_pointer<'life0, 'async_trait>(
&'life0 self,
_x: u16,
_y: u16,
_button_mask: u8,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Send a pointer (mouse) event to the remote host.
Source§fn request_full_frame<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn request_full_frame<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Request a full framebuffer update from the remote host.
Source§fn set_clipboard<'life0, 'async_trait>(
&'life0 self,
_text: String,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_clipboard<'life0, 'async_trait>(
&'life0 self,
_text: String,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Send clipboard text to the remote session.
Source§fn desktop_size(&self) -> (u16, u16)
fn desktop_size(&self) -> (u16, u16)
Get the remote desktop dimensions (width, height).
Source§fn resize<'life0, 'async_trait>(
&'life0 mut self,
width: u16,
height: u16,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn resize<'life0, 'async_trait>(
&'life0 mut self,
width: u16,
height: u16,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Request the remote desktop to resize to the given dimensions.
For RDP: sends a display resize request to the server.
For VNC: no-op (VNC does not support server-side resize; client-side scaling is used).
Auto Trait Implementations§
impl Freeze for RdpClient
impl RefUnwindSafe for RdpClient
impl Send for RdpClient
impl Sync for RdpClient
impl Unpin for RdpClient
impl UnsafeUnpin for RdpClient
impl UnwindSafe for RdpClient
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