pub struct LocalityContext {
pub region: Option<String>,
pub zone: Option<String>,
}Expand description
DW-094 (Ent): the edge’s locality context — its region and zone.
Threaded into the balancer at request time to enable locality-aware
endpoint selection. When both region and zone are None, the
balancer skips locality filtering (the OSS behavior).
The context is set from EdgeState.labels (the region and zone
keys) when running as an edge, or from the DWARA_REGION/
DWARA_ZONE environment variables in embedded mode.
Fields§
§region: Option<String>The edge’s region (e.g. us-east-1).
zone: Option<String>The edge’s zone (e.g. us-east-1a).
Implementations§
Source§impl LocalityContext
impl LocalityContext
Sourcepub fn new(region: Option<String>, zone: Option<String>) -> Self
pub fn new(region: Option<String>, zone: Option<String>) -> Self
Create a new locality context.
Sourcepub fn is_set(&self) -> bool
pub fn is_set(&self) -> bool
Whether locality-aware routing should be applied (at least one of region/zone is set).
Sourcepub fn region_matches(&self, endpoint_region: Option<&str>) -> bool
pub fn region_matches(&self, endpoint_region: Option<&str>) -> bool
Whether an endpoint region matches this context’s region. An endpoint with no region is always a match (locality-agnostic).
Sourcepub fn zone_matches(&self, endpoint_zone: Option<&str>) -> bool
pub fn zone_matches(&self, endpoint_zone: Option<&str>) -> bool
Whether an endpoint zone matches this context’s zone. An endpoint with no zone is always a match (zone-agnostic).
Trait Implementations§
Source§impl Clone for LocalityContext
impl Clone for LocalityContext
Source§fn clone(&self) -> LocalityContext
fn clone(&self) -> LocalityContext
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LocalityContext
impl Debug for LocalityContext
Source§impl Default for LocalityContext
impl Default for LocalityContext
Source§fn default() -> LocalityContext
fn default() -> LocalityContext
Source§impl PartialEq for LocalityContext
impl PartialEq for LocalityContext
impl Eq for LocalityContext
impl StructuralPartialEq for LocalityContext
Auto Trait Implementations§
impl Freeze for LocalityContext
impl RefUnwindSafe for LocalityContext
impl Send for LocalityContext
impl Sync for LocalityContext
impl Unpin for LocalityContext
impl UnwindSafe for LocalityContext
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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>
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>
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