pub struct Endpoint {
pub id: EndpointId,
pub address: String,
pub weight: Weight,
pub active_connections: Arc<AtomicUsize>,
pub total_requests: Arc<AtomicU64>,
pub healthy: Arc<RwLock<bool>>,
}Expand description
Endpoint information
Fields§
§id: EndpointIdUnique endpoint identifier
address: StringEndpoint address (e.g., “localhost:50051”)
weight: WeightEndpoint weight (for weighted balancing)
active_connections: Arc<AtomicUsize>Number of active connections
total_requests: Arc<AtomicU64>Total requests handled
healthy: Arc<RwLock<bool>>Whether endpoint is healthy
Implementations§
Source§impl Endpoint
impl Endpoint
Sourcepub fn new(id: EndpointId, address: String) -> Self
pub fn new(id: EndpointId, address: String) -> Self
Create a new endpoint
Sourcepub fn with_weight(id: EndpointId, address: String, weight: Weight) -> Self
pub fn with_weight(id: EndpointId, address: String, weight: Weight) -> Self
Create a new endpoint with weight
Sourcepub fn is_healthy(&self) -> bool
pub fn is_healthy(&self) -> bool
Check if endpoint is healthy
Sourcepub fn mark_healthy(&self)
pub fn mark_healthy(&self)
Mark endpoint as healthy
Sourcepub fn mark_unhealthy(&self)
pub fn mark_unhealthy(&self)
Mark endpoint as unhealthy
Sourcepub fn active_connections(&self) -> usize
pub fn active_connections(&self) -> usize
Get active connection count
Sourcepub fn increment_connections(&self)
pub fn increment_connections(&self)
Increment active connections
Sourcepub fn decrement_connections(&self)
pub fn decrement_connections(&self)
Decrement active connections
Sourcepub fn total_requests(&self) -> u64
pub fn total_requests(&self) -> u64
Get total requests handled
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Endpoint
impl !RefUnwindSafe for Endpoint
impl Send for Endpoint
impl Sync for Endpoint
impl Unpin for Endpoint
impl !UnwindSafe for Endpoint
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.