pub struct DMSCServiceRegistry { /* private fields */ }Implementations§
Source§impl DMSCServiceRegistry
impl DMSCServiceRegistry
pub fn new(etcd_client: Option<Client>, etcd_prefix: String) -> Self
pub async fn register_service( &self, instance: DMSCServiceInstance, ) -> DMSCResult<()>
pub async fn deregister_service(&self, instance_id: &str) -> DMSCResult<()>
pub async fn get_service_instances( &self, service_name: &str, ) -> DMSCResult<Vec<DMSCServiceInstance>>
pub async fn get_all_services(&self) -> DMSCResult<Vec<String>>
pub async fn update_heartbeat(&self, instance_id: &str) -> DMSCResult<()>
pub async fn update_instance_status( &self, instance_id: &str, status: DMSCServiceStatus, ) -> DMSCResult<()>
pub async fn get_healthy_instances( &self, service_name: &str, ) -> DMSCResult<Vec<DMSCServiceInstance>>
pub async fn cleanup_expired_instances( &self, expiration_duration: Duration, ) -> DMSCResult<()>
Sourcepub async fn sync_from_etcd(&self) -> DMSCResult<()>
pub async fn sync_from_etcd(&self) -> DMSCResult<()>
Sync registry from etcd
Sourcepub async fn start_etcd_watcher(&self) -> DMSCResult<JoinHandle<()>>
pub async fn start_etcd_watcher(&self) -> DMSCResult<JoinHandle<()>>
Start etcd watcher to sync changes in real-time
Trait Implementations§
Source§impl Clone for DMSCServiceRegistry
impl Clone for DMSCServiceRegistry
Source§fn clone(&self) -> DMSCServiceRegistry
fn clone(&self) -> DMSCServiceRegistry
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DMSCServiceRegistry
impl Debug for DMSCServiceRegistry
Auto Trait Implementations§
impl Freeze for DMSCServiceRegistry
impl !RefUnwindSafe for DMSCServiceRegistry
impl Send for DMSCServiceRegistry
impl Sync for DMSCServiceRegistry
impl Unpin for DMSCServiceRegistry
impl !UnwindSafe for DMSCServiceRegistry
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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> 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> 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::RequestSource§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