Struct ThreadObject
pub struct ThreadObject<T>(/* private fields */);Expand description
ThreadObject represents a weak reference to a Kanzi object.
It exists primarily to allow Objects to be shared safely between multiple threads.
To create a ThreadObject, call the ThreadObject::downgrade function.
To convert a ThreadObject back to an owned object, call ThreadObject::upgrade.
Implementations§
§impl<T> ThreadObject<T>where
T: ObjectConstraint,
impl<T> ThreadObject<T>where
T: ObjectConstraint,
pub fn upgrade(self, domain: &Domain) -> Result<Option<T>, Error>
pub fn upgrade(self, domain: &Domain) -> Result<Option<T>, Error>
Upgrades a ThreadObject to an owned object of the same type.
If None is returned, the object has been destroyed.
pub fn unlock(self, domain: &Domain) -> Weak<T>
pub fn unlock(self, domain: &Domain) -> Weak<T>
Unlocks a ThreadObject to a Weak object of the same type.
pub fn downgrade(object: T) -> ThreadObject<T>
pub fn downgrade(object: T) -> ThreadObject<T>
Downgrades an object to a thread object of the same type.
pub fn downgrade_ref(object: &T) -> ThreadObject<T>
pub fn downgrade_ref(object: &T) -> ThreadObject<T>
Downgrades an object reference to a thread object of the same type.
Methods from Deref<Target = ThreadObjectInner<T>>§
pub fn upgrade_ref(&self, domain: &Domain) -> Result<Option<T>, Error>
pub fn upgrade_ref(&self, domain: &Domain) -> Result<Option<T>, Error>
Upgrades a ThreadObject reference to an owned object of the same type.
If None is returned, the object has been destroyed.
pub fn unlock_ref(&self, domain: &Domain) -> Weak<T>
pub fn unlock_ref(&self, domain: &Domain) -> Weak<T>
Unlocks a ThreadObject reference to a Weak reference of the same type.
Trait Implementations§
§impl<T> Clone for ThreadObject<T>where
T: Clone,
impl<T> Clone for ThreadObject<T>where
T: Clone,
§fn clone(&self) -> ThreadObject<T>
fn clone(&self) -> ThreadObject<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more