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: 'static + ?Sized> = GenerationalRef<MappedRwLockReadGuard<'a, RawRwLock, R>>
type Ref<'a, R: 'static + ?Sized> = GenerationalRef<MappedRwLockReadGuard<'a, RawRwLock, R>>
The reference this storage type returns.
source§type Mut<'a, W: 'static + ?Sized> = GenerationalRefMut<MappedRwLockWriteGuard<'a, RawRwLock, W>>
type Mut<'a, W: 'static + ?Sized> = GenerationalRefMut<MappedRwLockWriteGuard<'a, RawRwLock, W>>
The mutable reference this storage type returns.
source§fn downcast_lifetime_ref<'a, 'b, T>(
ref_: <SyncStorage as AnyStorage>::Ref<'a, T>,
) -> <SyncStorage as AnyStorage>::Ref<'b, T>where
'a: 'b,
T: 'static + ?Sized,
fn downcast_lifetime_ref<'a, 'b, T>(
ref_: <SyncStorage as AnyStorage>::Ref<'a, T>,
) -> <SyncStorage as AnyStorage>::Ref<'b, T>where
'a: 'b,
T: 'static + ?Sized,
Downcast a reference in a Ref to a more specific lifetime Read more
source§fn downcast_lifetime_mut<'a, 'b, T>(
mut_: <SyncStorage as AnyStorage>::Mut<'a, T>,
) -> <SyncStorage as AnyStorage>::Mut<'b, T>where
'a: 'b,
T: 'static + ?Sized,
fn downcast_lifetime_mut<'a, 'b, T>(
mut_: <SyncStorage as AnyStorage>::Mut<'a, T>,
) -> <SyncStorage as AnyStorage>::Mut<'b, T>where
'a: 'b,
T: 'static + ?Sized,
Downcast a mutable reference in a RefMut to a more specific lifetime Read more
source§fn map<T, U>(
ref_: <SyncStorage as AnyStorage>::Ref<'_, T>,
f: impl FnOnce(&T) -> &U,
) -> <SyncStorage as AnyStorage>::Ref<'_, U>
fn map<T, U>( ref_: <SyncStorage as AnyStorage>::Ref<'_, T>, f: impl FnOnce(&T) -> &U, ) -> <SyncStorage as AnyStorage>::Ref<'_, U>
Map the ref.
source§fn map_mut<T, U>(
mut_ref: <SyncStorage as AnyStorage>::Mut<'_, T>,
f: impl FnOnce(&mut T) -> &mut U,
) -> <SyncStorage as AnyStorage>::Mut<'_, U>
fn map_mut<T, U>( mut_ref: <SyncStorage as AnyStorage>::Mut<'_, T>, f: impl FnOnce(&mut T) -> &mut U, ) -> <SyncStorage as AnyStorage>::Mut<'_, U>
Map the mutable ref.
source§fn try_map<I, U>(
ref_: <SyncStorage as AnyStorage>::Ref<'_, I>,
f: impl FnOnce(&I) -> Option<&U>,
) -> Option<<SyncStorage as AnyStorage>::Ref<'_, U>>
fn try_map<I, U>( ref_: <SyncStorage as AnyStorage>::Ref<'_, I>, f: impl FnOnce(&I) -> Option<&U>, ) -> Option<<SyncStorage as AnyStorage>::Ref<'_, U>>
Try to map the ref.
source§fn try_map_mut<I, U>(
mut_ref: <SyncStorage as AnyStorage>::Mut<'_, I>,
f: impl FnOnce(&mut I) -> Option<&mut U>,
) -> Option<<SyncStorage as AnyStorage>::Mut<'_, U>>
fn try_map_mut<I, U>( mut_ref: <SyncStorage as AnyStorage>::Mut<'_, I>, f: impl FnOnce(&mut I) -> Option<&mut U>, ) -> Option<<SyncStorage as AnyStorage>::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<SyncStorage>)
fn recycle(pointer: GenerationalPointer<SyncStorage>)
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> Storage<T> for SyncStorage
impl<T> Storage<T> for SyncStorage
source§fn try_read(
pointer: GenerationalPointer<SyncStorage>,
) -> Result<<SyncStorage as AnyStorage>::Ref<'static, T>, BorrowError>
fn try_read( pointer: GenerationalPointer<SyncStorage>, ) -> Result<<SyncStorage as AnyStorage>::Ref<'static, T>, BorrowError>
Try to read the value. Returns None if the value is no longer valid.
source§fn try_write(
pointer: GenerationalPointer<SyncStorage>,
) -> Result<<SyncStorage as AnyStorage>::Mut<'static, T>, BorrowMutError>
fn try_write( pointer: GenerationalPointer<SyncStorage>, ) -> Result<<SyncStorage as AnyStorage>::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<SyncStorage>
fn new( value: T, caller: &'static Location<'static>, ) -> GenerationalPointer<SyncStorage>
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<SyncStorage>
fn new_rc( value: T, caller: &'static Location<'static>, ) -> GenerationalPointer<SyncStorage>
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<SyncStorage>,
) -> Result<GenerationalPointer<SyncStorage>, BorrowError>
fn new_reference( location: GenerationalPointer<SyncStorage>, ) -> Result<GenerationalPointer<SyncStorage>, BorrowError>
Reference another location if the location is valid Read more
source§fn change_reference(
location: GenerationalPointer<SyncStorage>,
other: GenerationalPointer<SyncStorage>,
) -> Result<(), BorrowError>
fn change_reference( location: GenerationalPointer<SyncStorage>, other: GenerationalPointer<SyncStorage>, ) -> Result<(), BorrowError>
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
source§impl<T> InitializeFromFunction<T> for T
impl<T> InitializeFromFunction<T> for T
source§fn initialize_from_function(f: fn() -> T) -> T
fn initialize_from_function(f: fn() -> T) -> T
Create an instance of this type from an initialization function
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<Ret> SpawnIfAsync<(), Ret> for Ret
impl<Ret> SpawnIfAsync<(), Ret> for Ret
source§impl<T, O> SuperFrom<T> for Owhere
O: From<T>,
impl<T, O> SuperFrom<T> for Owhere
O: From<T>,
source§fn super_from(input: T) -> O
fn super_from(input: T) -> O
Convert from a type to another type.
source§impl<T, O, M> SuperInto<O, M> for Twhere
O: SuperFrom<T, M>,
impl<T, O, M> SuperInto<O, M> for Twhere
O: SuperFrom<T, M>,
source§fn super_into(self) -> O
fn super_into(self) -> O
Convert from a type to another type.