Struct CertificateWatcher

Source
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

Source

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

Source

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 CertificateSources 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).

Source

pub fn get_config_sender(&self) -> Sender<CertConfigUpdate>

Get the sender for certificate source configuration updates

Source

pub fn send_config_update(&self, update: CertConfigUpdate)

Send a config update to be processed by this watcher

Trait Implementations§

Source§

impl Debug for CertificateWatcher

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T