pub struct EtcdStorage { /* private fields */ }Implementations§
Trait Implementations§
Source§impl ConfigStorage for EtcdStorage
impl ConfigStorage for EtcdStorage
Source§fn load_config<'life0, 'async_trait>(
&'life0 self,
opts: LoadConfigOptions,
) -> Pin<Box<dyn Future<Output = Result<PingapConf, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_config<'life0, 'async_trait>(
&'life0 self,
opts: LoadConfigOptions,
) -> Pin<Box<dyn Future<Output = Result<PingapConf, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Load config from etcd by fetching all keys under the base path
Source§fn save_config<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
conf: &'life1 PingapConf,
category: &'life2 str,
name: Option<&'life3 str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn save_config<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
conf: &'life1 PingapConf,
category: &'life2 str,
name: Option<&'life3 str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Save config to etcd, optionally separating by category/name If separation is enabled and name is provided, saves individual sections Otherwise saves the entire category as one entry
Source§fn support_observer(&self) -> bool
fn support_observer(&self) -> bool
Indicates that this storage supports watching for changes
Source§fn observe<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Observer, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn observe<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Observer, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sets up a watch on the config path to observe changes Note: May miss changes if processing takes too long between updates Should be used with periodic full fetches to ensure consistency
Source§fn save<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
key: &'life1 str,
data: &'life2 [u8],
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn save<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
key: &'life1 str,
data: &'life2 [u8],
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Save key-value data under the base path
Auto Trait Implementations§
impl Freeze for EtcdStorage
impl RefUnwindSafe for EtcdStorage
impl Send for EtcdStorage
impl Sync for EtcdStorage
impl Unpin for EtcdStorage
impl UnwindSafe for EtcdStorage
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> 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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request