pub struct RiServiceRegistry { /* private fields */ }Implementations§
Source§impl RiServiceRegistry
impl RiServiceRegistry
pub fn new(etcd_client: Option<Client>, etcd_prefix: String) -> Self
pub async fn register_service( &self, instance: RiServiceInstance, ) -> RiResult<()>
pub async fn deregister_service(&self, instance_id: &str) -> RiResult<()>
pub async fn get_service_instances( &self, service_name: &str, ) -> RiResult<Vec<RiServiceInstance>>
pub async fn get_all_services(&self) -> RiResult<Vec<String>>
pub async fn update_heartbeat(&self, instance_id: &str) -> RiResult<()>
pub async fn update_instance_status( &self, instance_id: &str, status: RiServiceStatus, ) -> RiResult<()>
pub async fn get_healthy_instances( &self, service_name: &str, ) -> RiResult<Vec<RiServiceInstance>>
pub async fn cleanup_expired_instances( &self, expiration_duration: Duration, ) -> RiResult<()>
Sourcepub async fn sync_from_etcd(&self) -> RiResult<()>
pub async fn sync_from_etcd(&self) -> RiResult<()>
Sync registry from etcd
Sourcepub async fn start_etcd_watcher(&self) -> RiResult<JoinHandle<()>>
pub async fn start_etcd_watcher(&self) -> RiResult<JoinHandle<()>>
Start etcd watcher to sync changes in real-time
Trait Implementations§
Source§impl Clone for RiServiceRegistry
impl Clone for RiServiceRegistry
Source§fn clone(&self) -> RiServiceRegistry
fn clone(&self) -> RiServiceRegistry
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 RiServiceRegistry
impl Debug for RiServiceRegistry
Auto Trait Implementations§
impl Freeze for RiServiceRegistry
impl !RefUnwindSafe for RiServiceRegistry
impl Send for RiServiceRegistry
impl Sync for RiServiceRegistry
impl Unpin for RiServiceRegistry
impl UnsafeUnpin for RiServiceRegistry
impl !UnwindSafe for RiServiceRegistry
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