pub struct InstanceRegistry { /* private fields */ }Expand description
Registry for instance self-registration in standalone multi-node deployments.
Each Box host registers its instances with the registry so Gateway can discover endpoints for traffic routing.
Implementations§
Source§impl InstanceRegistry
impl InstanceRegistry
Sourcepub fn register(
&mut self,
instance_id: &str,
service: &str,
endpoint: &str,
host_id: &str,
metadata: HashMap<String, String>,
)
pub fn register( &mut self, instance_id: &str, service: &str, endpoint: &str, host_id: &str, metadata: HashMap<String, String>, )
Register an instance.
Sourcepub fn deregister(&mut self, instance_id: &str) -> bool
pub fn deregister(&mut self, instance_id: &str) -> bool
Deregister an instance.
Sourcepub fn endpoints(&self, service: &str) -> Vec<String>
pub fn endpoints(&self, service: &str) -> Vec<String>
Get all endpoints for a service (for load balancing).
Sourcepub fn instances_for_service(&self, service: &str) -> Vec<&str>
pub fn instances_for_service(&self, service: &str) -> Vec<&str>
Get all instances for a service.
Sourcepub fn instances_on_host(&self, host_id: &str) -> Vec<&str>
pub fn instances_on_host(&self, host_id: &str) -> Vec<&str>
Get all instances on a specific host.
Sourcepub fn evict_stale(&mut self, max_age: Duration) -> Vec<String>
pub fn evict_stale(&mut self, max_age: Duration) -> Vec<String>
Remove stale entries that haven’t sent a heartbeat within the given duration.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for InstanceRegistry
impl RefUnwindSafe for InstanceRegistry
impl Send for InstanceRegistry
impl Sync for InstanceRegistry
impl Unpin for InstanceRegistry
impl UnsafeUnpin for InstanceRegistry
impl UnwindSafe for InstanceRegistry
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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> 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>
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 more