pub trait Interface: DriverGeneric {
Show 13 methods
// Required methods
fn guest_cid(&self) -> u64;
fn listen(&mut self, port: u32) -> Result<(), VsockError>;
fn connect(&mut self, id: VsockConnId) -> Result<(), VsockError>;
fn send(&mut self, id: VsockConnId, buf: &[u8]) -> Result<usize, VsockError>;
fn recv(
&mut self,
id: VsockConnId,
buf: &mut [u8],
) -> Result<usize, VsockError>;
fn recv_avail(&mut self, id: VsockConnId) -> Result<usize, VsockError>;
fn disconnect(&mut self, id: VsockConnId) -> Result<(), VsockError>;
fn abort(&mut self, id: VsockConnId) -> Result<(), VsockError>;
fn poll_event(&mut self) -> Result<Option<VsockEvent>, VsockError>;
// Provided methods
fn enable_irq(&mut self) { ... }
fn disable_irq(&mut self) { ... }
fn is_irq_enabled(&self) -> bool { ... }
fn handle_irq(&mut self) -> Event { ... }
}Required Methods§
fn guest_cid(&self) -> u64
fn listen(&mut self, port: u32) -> Result<(), VsockError>
fn connect(&mut self, id: VsockConnId) -> Result<(), VsockError>
fn send(&mut self, id: VsockConnId, buf: &[u8]) -> Result<usize, VsockError>
fn recv(&mut self, id: VsockConnId, buf: &mut [u8]) -> Result<usize, VsockError>
fn recv_avail(&mut self, id: VsockConnId) -> Result<usize, VsockError>
fn disconnect(&mut self, id: VsockConnId) -> Result<(), VsockError>
fn abort(&mut self, id: VsockConnId) -> Result<(), VsockError>
fn poll_event(&mut self) -> Result<Option<VsockEvent>, VsockError>
Provided Methods§
fn enable_irq(&mut self)
fn disable_irq(&mut self)
fn is_irq_enabled(&self) -> bool
fn handle_irq(&mut self) -> Event
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".