pub struct CertificateWatcher {
sources: Vec<CertificateSource>,
default_source: DefaultCertificateSource,
files_watcher: RecommendedWatcher,
files_rx: Receiver<Event>,
config_rx: Receiver<CertConfigUpdate>,
config_tx: Sender<CertConfigUpdate>,
}
Expand description
A watcher for updates to certificate sources
Fields§
§sources: Vec<CertificateSource>
All currently-watched non-default certificate sources
default_source: DefaultCertificateSource
The default certificate source
files_watcher: RecommendedWatcher
Underlying watcher for certificates read from files
files_rx: Receiver<Event>
Receiver for file modification events from files_watcher
config_rx: Receiver<CertConfigUpdate>
Receiver for certificate source configuration updates
config_tx: Sender<CertConfigUpdate>
Sender for certificate source configuration updates, can be retrieved
using Self::get_config_sender()
.
Implementations§
Source§impl CertificateWatcher
impl CertificateWatcher
Sourcepub fn new() -> Result<Self>
pub fn new() -> Result<Self>
Create a new CertificateWatcher
§Errors
This function returns an error if the file watcher for files
certificate sources could not be set up
Sourcepub fn watch(
&mut self,
debounce_time: Duration,
) -> (Vec<CertificateSource>, DefaultCertificateSource)
pub fn watch( &mut self, debounce_time: Duration, ) -> (Vec<CertificateSource>, DefaultCertificateSource)
Watch for changes to the certificates
Blocks until a change has occurred, returning all CertificateSource
s
that have changed and need to be reloaded. The first element in the
tuple contains all updated sources from certificates
, the second is
the default certificate source (or None
if it hasn’t been updated).
May return multiple certificate sources at once if one event caused all
of them to need updating. May return a false positive (a certificate
source may be returned when it hasn’t actually changed).
Sourcepub fn get_config_sender(&self) -> Sender<CertConfigUpdate>
pub fn get_config_sender(&self) -> Sender<CertConfigUpdate>
Get the sender for certificate source configuration updates
Sourcepub fn send_config_update(&self, update: CertConfigUpdate)
pub fn send_config_update(&self, update: CertConfigUpdate)
Send a config update to be processed by this watcher
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CertificateWatcher
impl RefUnwindSafe for CertificateWatcher
impl Send for CertificateWatcher
impl Sync for CertificateWatcher
impl Unpin for CertificateWatcher
impl UnwindSafe for CertificateWatcher
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request