pub struct WindowsDllHandler { /* private fields */ }Expand description
Handler for Windows DLL hot-reload.
Manages UUID-named copies of DLLs to allow recompilation while previous versions are still loaded.
Implementations§
Source§impl WindowsDllHandler
impl WindowsDllHandler
Sourcepub fn with_max_age(self, max_age: Duration) -> Self
pub fn with_max_age(self, max_age: Duration) -> Self
Set the maximum age for cleanup.
Sourcepub fn prepare_for_load(&mut self, dll_path: &Path) -> Result<PathBuf>
pub fn prepare_for_load(&mut self, dll_path: &Path) -> Result<PathBuf>
Sourcepub fn release(&mut self, loaded_path: &Path)
pub fn release(&mut self, loaded_path: &Path)
Release a loaded DLL path.
Call this after dropping the loaded library to mark the temp file as eligible for cleanup.
§Arguments
loaded_path- Path that was returned byprepare_for_load
Sourcepub fn active_paths(&self) -> impl Iterator<Item = &Path>
pub fn active_paths(&self) -> impl Iterator<Item = &Path>
Get all active copy paths.
Sourcepub fn cleanup_old_copies(&self) -> Result<usize>
pub fn cleanup_old_copies(&self) -> Result<usize>
Clean up old DLL copies.
Removes temp files that are:
- Not currently tracked as active
- Older than
max_age
§Returns
Number of files cleaned up.
Sourcepub fn cleanup_all(&self) -> Result<usize>
pub fn cleanup_all(&self) -> Result<usize>
Force cleanup of all non-active copies.
Attempts to remove all temp files that are not currently active. Files that are locked will be skipped.
§Returns
Number of files cleaned up.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for WindowsDllHandler
impl RefUnwindSafe for WindowsDllHandler
impl Send for WindowsDllHandler
impl Sync for WindowsDllHandler
impl Unpin for WindowsDllHandler
impl UnwindSafe for WindowsDllHandler
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§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.
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> 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<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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§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<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.