pub struct DynamicMessageLibraryCache(/* private fields */);Expand description
A struct to cache loaded shared libraries for dynamic messages, indexing them by name.
Implementations§
Source§impl DynamicMessageLibraryCache
impl DynamicMessageLibraryCache
Sourcepub fn get_or_load(
&mut self,
package_name: &str,
) -> Result<Arc<Library>, DynamicMessageError>
pub fn get_or_load( &mut self, package_name: &str, ) -> Result<Arc<Library>, DynamicMessageError>
Get a reference to the library for the specific package_name. Attempt to load and store
it in the cache if it is not currently loaded.
Sourcepub fn unload(&mut self, package_name: &str) -> bool
pub fn unload(&mut self, package_name: &str) -> bool
Remove a package_name from the cache. Return true if it was removed, false otherwise
This function can be used to reduce memory footprint if the message library is not used
anymore.
Note that since shared libraries are wrapped by an Arc this does not unload the library
until all other structures that reference it (DynamicMessage or
DynamicMessageMetadata) are also dropped.
Trait Implementations§
Source§impl Default for DynamicMessageLibraryCache
impl Default for DynamicMessageLibraryCache
Source§fn default() -> DynamicMessageLibraryCache
fn default() -> DynamicMessageLibraryCache
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for DynamicMessageLibraryCache
impl RefUnwindSafe for DynamicMessageLibraryCache
impl Send for DynamicMessageLibraryCache
impl Sync for DynamicMessageLibraryCache
impl Unpin for DynamicMessageLibraryCache
impl UnwindSafe for DynamicMessageLibraryCache
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> 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