Struct devices::virtio::gpu::ResourceBridges
source · struct ResourceBridges {
resource_bridges: Vec<Tube>,
should_process: Vec<bool>,
}
Expand description
This struct takes the ownership of resource bridges and tracks which ones should be processed.
Fields§
§resource_bridges: Vec<Tube>
§should_process: Vec<bool>
Implementations§
source§impl ResourceBridges
impl ResourceBridges
pub fn new(resource_bridges: Vec<Tube>) -> Self
pub fn append_raw_descriptors(&self, rds: &mut Vec<RawDescriptor>)
sourcepub fn add_to_wait_context(&self, wait_ctx: &mut WaitContext<WorkerToken>)
pub fn add_to_wait_context(&self, wait_ctx: &mut WaitContext<WorkerToken>)
Adds all resource bridges to WaitContext.
sourcepub fn set_should_process(&mut self, index: usize)
pub fn set_should_process(&mut self, index: usize)
Marks that the resource bridge at the given index should be processed when
process_resource_bridges()
is called.
sourcepub fn process_resource_bridges(
&mut self,
state: &mut Frontend,
wait_ctx: &mut WaitContext<WorkerToken>,
)
pub fn process_resource_bridges( &mut self, state: &mut Frontend, wait_ctx: &mut WaitContext<WorkerToken>, )
Processes all resource bridges that have been marked as should be processed. The markings will be cleared before returning. Faulty resource bridges will be removed from WaitContext.
fn reset_should_process(&mut self)
Auto Trait Implementations§
impl Freeze for ResourceBridges
impl RefUnwindSafe for ResourceBridges
impl Send for ResourceBridges
impl Sync for ResourceBridges
impl Unpin for ResourceBridges
impl UnwindSafe for ResourceBridges
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.