pub trait VringT<M: GuestAddressSpace>: for<'a> VringStateGuard<'a, M> + for<'a> VringStateMutGuard<'a, M> {
Show 21 methods
// Required methods
fn new(mem: M, max_queue_size: u16) -> Result<Self, VirtQueError>
where Self: Sized;
fn get_ref(&self) -> <Self as VringStateGuard<'_, M>>::G;
fn get_mut(&self) -> <Self as VringStateMutGuard<'_, M>>::G;
fn add_used(&self, desc_index: u16, len: u32) -> Result<(), VirtQueError>;
fn signal_used_queue(&self) -> Result<()>;
fn enable_notification(&self) -> Result<bool, VirtQueError>;
fn disable_notification(&self) -> Result<(), VirtQueError>;
fn needs_notification(&self) -> Result<bool, VirtQueError>;
fn set_enabled(&self, enabled: bool);
fn set_queue_info(
&self,
desc_table: u64,
avail_ring: u64,
used_ring: u64,
) -> Result<(), VirtQueError>;
fn queue_next_avail(&self) -> u16;
fn set_queue_next_avail(&self, base: u16);
fn set_queue_next_used(&self, idx: u16);
fn queue_used_idx(&self) -> Result<u16, VirtQueError>;
fn set_queue_size(&self, num: u16);
fn set_queue_event_idx(&self, enabled: bool);
fn set_queue_ready(&self, ready: bool);
fn set_kick(&self, file: Option<File>);
fn read_kick(&self) -> Result<bool>;
fn set_call(&self, file: Option<File>);
fn set_err(&self, file: Option<File>);
}
Required Methods§
Sourcefn new(mem: M, max_queue_size: u16) -> Result<Self, VirtQueError>where
Self: Sized,
fn new(mem: M, max_queue_size: u16) -> Result<Self, VirtQueError>where
Self: Sized,
Create a new instance of Vring.
Sourcefn get_ref(&self) -> <Self as VringStateGuard<'_, M>>::G
fn get_ref(&self) -> <Self as VringStateGuard<'_, M>>::G
Get an immutable reference to the kick event fd.
Sourcefn get_mut(&self) -> <Self as VringStateMutGuard<'_, M>>::G
fn get_mut(&self) -> <Self as VringStateMutGuard<'_, M>>::G
Get a mutable reference to the kick event fd.
Sourcefn add_used(&self, desc_index: u16, len: u32) -> Result<(), VirtQueError>
fn add_used(&self, desc_index: u16, len: u32) -> Result<(), VirtQueError>
Add an used descriptor into the used queue.
Sourcefn signal_used_queue(&self) -> Result<()>
fn signal_used_queue(&self) -> Result<()>
Notify the vhost-user frontend that used descriptors have been put into the used queue.
Sourcefn enable_notification(&self) -> Result<bool, VirtQueError>
fn enable_notification(&self) -> Result<bool, VirtQueError>
Enable event notification for queue.
Sourcefn disable_notification(&self) -> Result<(), VirtQueError>
fn disable_notification(&self) -> Result<(), VirtQueError>
Disable event notification for queue.
Sourcefn needs_notification(&self) -> Result<bool, VirtQueError>
fn needs_notification(&self) -> Result<bool, VirtQueError>
Check whether a notification to the guest is needed.
Sourcefn set_enabled(&self, enabled: bool)
fn set_enabled(&self, enabled: bool)
Set vring enabled state.
Sourcefn set_queue_info(
&self,
desc_table: u64,
avail_ring: u64,
used_ring: u64,
) -> Result<(), VirtQueError>
fn set_queue_info( &self, desc_table: u64, avail_ring: u64, used_ring: u64, ) -> Result<(), VirtQueError>
Set queue addresses for descriptor table, available ring and used ring.
Sourcefn queue_next_avail(&self) -> u16
fn queue_next_avail(&self) -> u16
Get queue next avail head.
Sourcefn set_queue_next_avail(&self, base: u16)
fn set_queue_next_avail(&self, base: u16)
Set queue next avail head.
Sourcefn set_queue_next_used(&self, idx: u16)
fn set_queue_next_used(&self, idx: u16)
Set queue next used head.
Sourcefn queue_used_idx(&self) -> Result<u16, VirtQueError>
fn queue_used_idx(&self) -> Result<u16, VirtQueError>
Get queue next used head index from the guest memory.
Sourcefn set_queue_size(&self, num: u16)
fn set_queue_size(&self, num: u16)
Set configured queue size.
Sourcefn set_queue_event_idx(&self, enabled: bool)
fn set_queue_event_idx(&self, enabled: bool)
Enable/disable queue event index feature.
Sourcefn set_queue_ready(&self, ready: bool)
fn set_queue_ready(&self, ready: bool)
Set queue enabled state.