Struct wasmer_wasix::utils::owned_mutex_guard::OwnedRwLockReadGuard
source · pub(crate) struct OwnedRwLockReadGuard<T: 'static> {
guard: Option<RwLockReadGuard<'static, T>>,
ownership: Arc<RwLock<T>>,
}
Fields§
§guard: Option<RwLockReadGuard<'static, T>>
§ownership: Arc<RwLock<T>>
Implementations§
source§impl<T> OwnedRwLockReadGuard<T>
impl<T> OwnedRwLockReadGuard<T>
fn new(lock: &Arc<RwLock<T>>) -> LockResult<Self>
sourcepub fn into_inner(self) -> Arc<RwLock<T>>
pub fn into_inner(self) -> Arc<RwLock<T>>
Converts this guard into an owned reference of the underlying lockable object
Trait Implementations§
source§impl<T> Debug for OwnedRwLockReadGuard<T>where
T: Debug,
impl<T> Debug for OwnedRwLockReadGuard<T>where
T: Debug,
source§impl<T> Display for OwnedRwLockReadGuard<T>where
T: Display,
impl<T> Display for OwnedRwLockReadGuard<T>where
T: Display,
source§impl<T> Drop for OwnedRwLockReadGuard<T>where
T: Sized,
impl<T> Drop for OwnedRwLockReadGuard<T>where
T: Sized,
source§impl<T> Deref for OwnedRwLockReadGuard<T>
impl<T> Deref for OwnedRwLockReadGuard<T>
impl<T> Send for OwnedRwLockReadGuard<T>where
T: Send,
Auto Trait Implementations§
impl<T> Freeze for OwnedRwLockReadGuard<T>
impl<T> RefUnwindSafe for OwnedRwLockReadGuard<T>where
T: RefUnwindSafe,
impl<T> Sync for OwnedRwLockReadGuard<T>
impl<T> Unpin for OwnedRwLockReadGuard<T>
impl<T> UnwindSafe for OwnedRwLockReadGuard<T>where
T: RefUnwindSafe,
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
§impl<P> AsEngineRef for P
impl<P> AsEngineRef for P
§fn as_engine_ref(&self) -> EngineRef<'_>
fn as_engine_ref(&self) -> EngineRef<'_>
Returns a
EngineRef
pointing to the underlying context.§fn maybe_as_store(&self) -> Option<StoreRef<'_>>
fn maybe_as_store(&self) -> Option<StoreRef<'_>>
Returns an optional
StoreRef
is the passed reference is a Store
.§impl<P> AsStoreRef for P
impl<P> AsStoreRef for P
§fn as_store_ref(&self) -> StoreRef<'_>
fn as_store_ref(&self) -> StoreRef<'_>
Returns a
StoreRef
pointing to the underlying context.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<D, F> FileSystem for D
impl<D, F> FileSystem for D
fn read_dir(&self, path: &Path) -> Result<ReadDir, FsError>
fn readlink(&self, path: &Path) -> Result<PathBuf, FsError>
fn create_dir(&self, path: &Path) -> Result<(), FsError>
fn remove_dir(&self, path: &Path) -> Result<(), FsError>
fn rename<'a>( &'a self, from: &'a Path, to: &'a Path, ) -> Pin<Box<dyn Future<Output = Result<(), FsError>> + Send + 'a>>
fn metadata(&self, path: &Path) -> Result<Metadata, FsError>
§fn symlink_metadata(&self, path: &Path) -> Result<Metadata, FsError>
fn symlink_metadata(&self, path: &Path) -> Result<Metadata, FsError>
This method gets metadata without following symlinks in the path.
Currently identical to
metadata
because symlinks aren’t implemented
yet.fn remove_file(&self, path: &Path) -> Result<(), FsError>
fn new_open_options(&self) -> OpenOptions<'_>
fn mount( &self, name: String, path: &Path, fs: Box<dyn FileSystem + Send + Sync>, ) -> Result<(), FsError>
source§impl<D, C> HttpClient for D
impl<D, C> HttpClient for D
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
source§impl<D, C> ModuleCache for D
impl<D, C> ModuleCache for D
source§fn load<'life0, 'life1, 'async_trait>(
&'life0 self,
key: ModuleHash,
engine: &'life1 Engine,
) -> Pin<Box<dyn Future<Output = Result<Module, CacheError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
D: 'async_trait,
fn load<'life0, 'life1, 'async_trait>(
&'life0 self,
key: ModuleHash,
engine: &'life1 Engine,
) -> Pin<Box<dyn Future<Output = Result<Module, CacheError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
D: 'async_trait,
Load a module based on its hash.
source§fn save<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
key: ModuleHash,
engine: &'life1 Engine,
module: &'life2 Module,
) -> Pin<Box<dyn Future<Output = Result<(), CacheError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
D: 'async_trait,
fn save<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
key: ModuleHash,
engine: &'life1 Engine,
module: &'life2 Module,
) -> Pin<Box<dyn Future<Output = Result<(), CacheError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
D: 'async_trait,
Save a module so it can be retrieved with
ModuleCache::load()
at a
later time. Read moresource§fn with_fallback<C>(self, other: C) -> FallbackCache<Self, C>where
Self: Sized,
C: ModuleCache,
fn with_fallback<C>(self, other: C) -> FallbackCache<Self, C>where
Self: Sized,
C: ModuleCache,
Chain a second
ModuleCache
that will be used as a fallback if
lookups on the primary cache fail. Read moresource§impl<D, P> PackageLoader for D
impl<D, P> PackageLoader for D
fn load<'life0, 'life1, 'async_trait>(
&'life0 self,
summary: &'life1 PackageSummary,
) -> Pin<Box<dyn Future<Output = Result<Container, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
D: 'async_trait,
source§fn load_package_tree<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
root: &'life1 Container,
resolution: &'life2 Resolution,
root_is_local_dir: bool,
) -> Pin<Box<dyn Future<Output = Result<BinaryPackage, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
D: 'async_trait,
fn load_package_tree<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
root: &'life1 Container,
resolution: &'life2 Resolution,
root_is_local_dir: bool,
) -> Pin<Box<dyn Future<Output = Result<BinaryPackage, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
D: 'async_trait,
Load a resolved package into memory so it can be executed. Read more
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Pointee for T
impl<T> Pointee for T
source§impl<D, S> Source for D
impl<D, S> Source for D
source§fn query<'life0, 'life1, 'async_trait>(
&'life0 self,
package: &'life1 PackageSource,
) -> Pin<Box<dyn Future<Output = Result<Vec<PackageSummary>, QueryError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
D: 'async_trait,
fn query<'life0, 'life1, 'async_trait>(
&'life0 self,
package: &'life1 PackageSource,
) -> Pin<Box<dyn Future<Output = Result<Vec<PackageSummary>, QueryError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
D: 'async_trait,
Ask this source which packages would satisfy a particular
Dependency
constraint. Read moresource§fn latest<'life0, 'life1, 'async_trait>(
&'life0 self,
pkg: &'life1 PackageSource,
) -> Pin<Box<dyn Future<Output = Result<PackageSummary, QueryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn latest<'life0, 'life1, 'async_trait>(
&'life0 self,
pkg: &'life1 PackageSource,
) -> Pin<Box<dyn Future<Output = Result<PackageSummary, QueryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Run
Source::query()
and get the PackageSummary
for the latest
version.§impl<T> Upcastable for T
impl<T> Upcastable for T
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
§impl<T> Upcastable for T
impl<T> Upcastable for T
§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref
§fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
upcast boxed dyn
source§impl<D, T> VirtualTaskManager for D
impl<D, T> VirtualTaskManager for D
source§fn build_memory(
&self,
store: &mut StoreMut<'_>,
spawn_type: SpawnMemoryType<'_>,
) -> Result<Option<Memory>, WasiThreadError>
fn build_memory( &self, store: &mut StoreMut<'_>, spawn_type: SpawnMemoryType<'_>, ) -> Result<Option<Memory>, WasiThreadError>
Build a new Webassembly memory. Read more
source§fn sleep_now(
&self,
time: Duration,
) -> Pin<Box<dyn Future<Output = ()> + Send + Sync>>
fn sleep_now( &self, time: Duration, ) -> Pin<Box<dyn Future<Output = ()> + Send + Sync>>
Pause the current thread of execution. Read more
Run an asynchronous operation on the thread pool. Read more
source§fn task_wasm(&self, task: TaskWasm<'_, '_>) -> Result<(), WasiThreadError>
fn task_wasm(&self, task: TaskWasm<'_, '_>) -> Result<(), WasiThreadError>
Run a blocking WebAssembly operation on the thread pool. Read more
source§fn task_dedicated(
&self,
task: Box<dyn FnOnce() + Send>,
) -> Result<(), WasiThreadError>
fn task_dedicated( &self, task: Box<dyn FnOnce() + Send>, ) -> Result<(), WasiThreadError>
Run a blocking operation on the thread pool. Read more
source§fn thread_parallelism(&self) -> Result<usize, WasiThreadError>
fn thread_parallelism(&self) -> Result<usize, WasiThreadError>
Returns the amount of parallelism that is possible on this platform.
source§impl<D, T> VirtualTaskManagerExt for D
impl<D, T> VirtualTaskManagerExt for D
source§fn spawn_and_block_on<A>(
&self,
task: impl Future<Output = A> + Send + 'static,
) -> Result<A, Error>where
A: Send + 'static,
fn spawn_and_block_on<A>(
&self,
task: impl Future<Output = A> + Send + 'static,
) -> Result<A, Error>where
A: Send + 'static,
Runs the work in the background via the task managers shared background threads while blocking the current execution until it finishs