pub struct Endpoints {
pub instances: Vec<Arc<UpstreamInstance>>,
/* private fields */
}Expand description
The swappable endpoint set of a group: the instances plus the LB state compiled from them
(a Maglev table indexes into instances, so the two must swap together). Behind an ArcSwap
on the group so periodic DNS re-resolution (the standard periodic-DNS endpoint-discovery
technique — the shape of nginx resolve / Envoy STRICT_DNS) can replace the set in place
while routes keep holding their Arc<UpstreamGroup>.
Fields§
§instances: Vec<Arc<UpstreamInstance>>The instances, in configured (or resolved) address order.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Endpoints
impl RefUnwindSafe for Endpoints
impl Send for Endpoints
impl Sync for Endpoints
impl Unpin for Endpoints
impl UnsafeUnpin for Endpoints
impl UnwindSafe for Endpoints
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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