Struct devices::virtio::media::ArcedMemoryMapper   
source · struct ArcedMemoryMapper(Arc<Mutex<Box<dyn SharedMemoryMapper>>>);Expand description
A SharedMemoryMapper behind an Arc, allowing it to be shared.
This is required by the fact that devices can be activated several times, but the mapper is
only provided once. This might be a defect of the VirtioDevice interface.
Tuple Fields§
§0: Arc<Mutex<Box<dyn SharedMemoryMapper>>>Trait Implementations§
source§impl Clone for ArcedMemoryMapper
 
impl Clone for ArcedMemoryMapper
source§fn clone(&self) -> ArcedMemoryMapper
 
fn clone(&self) -> ArcedMemoryMapper
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read moresource§fn from(mapper: Box<dyn SharedMemoryMapper>) -> Self
 
fn from(mapper: Box<dyn SharedMemoryMapper>) -> Self
Converts to this type from the input type.
source§fn add_mapping(
    &mut self,
    source: VmMemorySource,
    offset: u64,
    prot: Protection,
    cache: MemCacheType,
) -> Result<()>
 
fn add_mapping( &mut self, source: VmMemorySource, offset: u64, prot: Protection, cache: MemCacheType, ) -> Result<()>
Maps the given |source| into the shared memory region at |offset|.
source§fn remove_mapping(&mut self, offset: u64) -> Result<()>
 
fn remove_mapping(&mut self, offset: u64) -> Result<()>
Removes the mapping beginning at |offset|.
fn as_raw_descriptor(&self) -> Option<RawDescriptor>
Auto Trait Implementations§
impl Freeze for ArcedMemoryMapper
impl RefUnwindSafe for ArcedMemoryMapper
impl Send for ArcedMemoryMapper
impl Sync for ArcedMemoryMapper
impl Unpin for ArcedMemoryMapper
impl UnwindSafe for ArcedMemoryMapper
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
source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
 
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)§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.