pub struct ReloadState {
pub config_path: PathBuf,
pub last_modified: Option<SystemTime>,
pub include_mtimes: Vec<(PathBuf, Option<SystemTime>)>,
pub include_dir_mtimes: Vec<(PathBuf, Option<SystemTime>)>,
pub keys_dir_mtime: Option<SystemTime>,
pub key_file_mtimes: Vec<(PathBuf, Option<SystemTime>)>,
}Expand description
Auto-reload mtime tracking.
Fields§
§config_path: PathBuf§last_modified: Option<SystemTime>§include_mtimes: Vec<(PathBuf, Option<SystemTime>)>§include_dir_mtimes: Vec<(PathBuf, Option<SystemTime>)>§keys_dir_mtime: Option<SystemTime>mtime of ~/.ssh/ itself. Changes when a key file is created,
renamed or removed; combined with key_file_mtimes this gives a
full add/remove/modify signal without needing a real watcher.
key_file_mtimes: Vec<(PathBuf, Option<SystemTime>)>mtime per known *.pub (or private) key path. Touch-only edits
(re-encrypt, passphrase change) move the file mtime without
touching the parent directory, so we track both.
Implementations§
Source§impl ReloadState
impl ReloadState
Sourcepub fn from_config(config: &SshConfigFile) -> Self
pub fn from_config(config: &SshConfigFile) -> Self
Build from a loaded config: captures initial mtimes for the main file and every Include’d file and directory.
Trait Implementations§
Source§impl Default for ReloadState
impl Default for ReloadState
Source§fn default() -> ReloadState
fn default() -> ReloadState
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ReloadState
impl RefUnwindSafe for ReloadState
impl Send for ReloadState
impl Sync for ReloadState
impl Unpin for ReloadState
impl UnsafeUnpin for ReloadState
impl UnwindSafe for ReloadState
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