pub struct SyncStorage { /* private fields */ }
Expand description
A thread safe storage. This is slower than the unsync storage, but allows you to share the value between threads.
Trait Implementations§
Source§impl AnyStorage for SyncStorage
impl AnyStorage for SyncStorage
Source§type Ref<'a, R: ?Sized + 'static> = GenerationalRef<MappedRwLockReadGuard<'a, RawRwLock, R>>
type Ref<'a, R: ?Sized + 'static> = GenerationalRef<MappedRwLockReadGuard<'a, RawRwLock, R>>
The reference this storage type returns.
Source§type Mut<'a, W: ?Sized + 'static> = GenerationalRefMut<MappedRwLockWriteGuard<'a, RawRwLock, W>>
type Mut<'a, W: ?Sized + 'static> = GenerationalRefMut<MappedRwLockWriteGuard<'a, RawRwLock, W>>
The mutable reference this storage type returns.
Source§fn downcast_lifetime_ref<'a: 'b, 'b, T: ?Sized + 'static>(
ref_: Self::Ref<'a, T>,
) -> Self::Ref<'b, T>
fn downcast_lifetime_ref<'a: 'b, 'b, T: ?Sized + 'static>( ref_: Self::Ref<'a, T>, ) -> Self::Ref<'b, T>
Downcast a reference in a Ref to a more specific lifetime Read more
Source§fn downcast_lifetime_mut<'a: 'b, 'b, T: ?Sized + 'static>(
mut_: Self::Mut<'a, T>,
) -> Self::Mut<'b, T>
fn downcast_lifetime_mut<'a: 'b, 'b, T: ?Sized + 'static>( mut_: Self::Mut<'a, T>, ) -> Self::Mut<'b, T>
Downcast a mutable reference in a RefMut to a more specific lifetime Read more
Source§fn map<T: ?Sized + 'static, U: ?Sized + 'static>(
ref_: Self::Ref<'_, T>,
f: impl FnOnce(&T) -> &U,
) -> Self::Ref<'_, U>
fn map<T: ?Sized + 'static, U: ?Sized + 'static>( ref_: Self::Ref<'_, T>, f: impl FnOnce(&T) -> &U, ) -> Self::Ref<'_, U>
Map the ref.
Source§fn map_mut<T: ?Sized + 'static, U: ?Sized + 'static>(
mut_ref: Self::Mut<'_, T>,
f: impl FnOnce(&mut T) -> &mut U,
) -> Self::Mut<'_, U>
fn map_mut<T: ?Sized + 'static, U: ?Sized + 'static>( mut_ref: Self::Mut<'_, T>, f: impl FnOnce(&mut T) -> &mut U, ) -> Self::Mut<'_, U>
Map the mutable ref.
Source§fn try_map<I: ?Sized + 'static, U: ?Sized + 'static>(
ref_: Self::Ref<'_, I>,
f: impl FnOnce(&I) -> Option<&U>,
) -> Option<Self::Ref<'_, U>>
fn try_map<I: ?Sized + 'static, U: ?Sized + 'static>( ref_: Self::Ref<'_, I>, f: impl FnOnce(&I) -> Option<&U>, ) -> Option<Self::Ref<'_, U>>
Try to map the ref.
Source§fn try_map_mut<I: ?Sized + 'static, U: ?Sized + 'static>(
mut_ref: Self::Mut<'_, I>,
f: impl FnOnce(&mut I) -> Option<&mut U>,
) -> Option<Self::Mut<'_, U>>
fn try_map_mut<I: ?Sized + 'static, U: ?Sized + 'static>( mut_ref: Self::Mut<'_, I>, f: impl FnOnce(&mut I) -> Option<&mut U>, ) -> Option<Self::Mut<'_, U>>
Try to map the mutable ref.
Source§fn data_ptr(&self) -> *const ()
fn data_ptr(&self) -> *const ()
Get the data pointer. No guarantees are made about the data pointer. It should only be used for debugging.
Source§fn recycle(pointer: GenerationalPointer<Self>)
fn recycle(pointer: GenerationalPointer<Self>)
Recycle a memory location. This will drop the memory location and return it to the runtime.
Source§impl Default for SyncStorage
impl Default for SyncStorage
Source§fn default() -> SyncStorage
fn default() -> SyncStorage
Returns the “default value” for a type. Read more
Source§impl<T: Sync + Send + 'static> Storage<T> for SyncStorage
impl<T: Sync + Send + 'static> Storage<T> for SyncStorage
Source§fn try_read(
pointer: GenerationalPointer<Self>,
) -> Result<Self::Ref<'static, T>, BorrowError>
fn try_read( pointer: GenerationalPointer<Self>, ) -> Result<Self::Ref<'static, T>, BorrowError>
Try to read the value. Returns None if the value is no longer valid.
Source§fn try_write(
pointer: GenerationalPointer<Self>,
) -> Result<Self::Mut<'static, T>, BorrowMutError>
fn try_write( pointer: GenerationalPointer<Self>, ) -> Result<Self::Mut<'static, T>, BorrowMutError>
Try to write the value. Returns None if the value is no longer valid.
Source§fn new(
value: T,
caller: &'static Location<'static>,
) -> GenerationalPointer<Self>
fn new( value: T, caller: &'static Location<'static>, ) -> GenerationalPointer<Self>
Create a new memory location. This will either create a new memory location or recycle an old one.
Source§fn new_rc(
value: T,
caller: &'static Location<'static>,
) -> GenerationalPointer<Self>
fn new_rc( value: T, caller: &'static Location<'static>, ) -> GenerationalPointer<Self>
Create a new reference counted memory location. This will either create a new memory location or recycle an old one.
Source§fn new_reference(
location: GenerationalPointer<Self>,
) -> BorrowResult<GenerationalPointer<Self>>
fn new_reference( location: GenerationalPointer<Self>, ) -> BorrowResult<GenerationalPointer<Self>>
Reference another location if the location is valid Read more
Source§fn change_reference(
location: GenerationalPointer<Self>,
other: GenerationalPointer<Self>,
) -> BorrowResult
fn change_reference( location: GenerationalPointer<Self>, other: GenerationalPointer<Self>, ) -> BorrowResult
Change the reference a signal is pointing to Read more
Auto Trait Implementations§
impl !Freeze for SyncStorage
impl !RefUnwindSafe for SyncStorage
impl Send for SyncStorage
impl Sync for SyncStorage
impl Unpin for SyncStorage
impl !UnwindSafe for SyncStorage
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