Struct linkerd2_proxy_api::destination::DestinationProfile
source · [−]pub struct DestinationProfile {
pub fully_qualified_name: String,
pub opaque_protocol: bool,
pub routes: Vec<Route>,
pub retry_budget: Option<RetryBudget>,
pub dst_overrides: Vec<WeightedDst>,
pub endpoint: Option<WeightedAddr>,
}
Fields
fully_qualified_name: String
The fully-qualified service name, if one exists.
When resolving (especially by IP), this field provides the fully-qualified
name of the resolved service, if one exists. This field does NOT include
any port information. E.g. a lookup for 10.2.3.4:8080 might have a name
like foo.bar.svc.cluster.local
.
Implementations MAY provide names for non-service IP-lookups (e.g., pod or node dns names), but this is not required.
If the lookup does not refer to a known named entity, this field MUST be left empty.
opaque_protocol: bool
Indicates that connections on this service address should be handled as opaque TCP streams. HTTP routes returned on for such services will be ignored.
routes: Vec<Route>
A list of routes, each with a RequestMatch. If a request matches more than one route, the first match wins.
retry_budget: Option<RetryBudget>
The retry budget controls how much additional load the proxy can generate as retries. Failured requests on retryable routes will not be retried if there is no available budget.
dst_overrides: Vec<WeightedDst>
If this list is non-empty, requests to this destination should instead be split between the destinations in this list. Each destination should receive a portion of the requests proportional to its weight. If this list is empty, requests should be sent to this destination as normal.
endpoint: Option<WeightedAddr>
If this field is set, it indicates that the target is a known endpoint (and
not a service address). The values of fully_qualified_name
and
dst_overrides
will be ignored for the purposes of service discovery–
traffic split and load balancing will be skipped and the single endpoint
are used.
No endpoint should be set If the target is unknown.
Trait Implementations
sourceimpl Clone for DestinationProfile
impl Clone for DestinationProfile
sourcefn clone(&self) -> DestinationProfile
fn clone(&self) -> DestinationProfile
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for DestinationProfile
impl Debug for DestinationProfile
sourceimpl Default for DestinationProfile
impl Default for DestinationProfile
sourceimpl Message for DestinationProfile
impl Message for DestinationProfile
sourcefn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
sourcefn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
Encodes the message to a buffer. Read more
sourcefn encode_to_vec(&self) -> Vec<u8, Global>
fn encode_to_vec(&self) -> Vec<u8, Global>
Encodes the message to a newly allocated buffer.
sourcefn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
Encodes the message with a length-delimiter to a buffer. Read more
sourcefn encode_length_delimited_to_vec(&self) -> Vec<u8, Global>
fn encode_length_delimited_to_vec(&self) -> Vec<u8, Global>
Encodes the message with a length-delimiter to a newly allocated buffer.
sourcefn decode<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
fn decode<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
Decodes an instance of the message from a buffer. Read more
sourcefn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
sourcefn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
Decodes an instance of the message from a buffer, and merges it into self
. Read more
sourcefn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
Decodes a length-delimited instance of the message from buffer, and
merges it into self
. Read more
sourceimpl PartialEq<DestinationProfile> for DestinationProfile
impl PartialEq<DestinationProfile> for DestinationProfile
sourcefn eq(&self, other: &DestinationProfile) -> bool
fn eq(&self, other: &DestinationProfile) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &DestinationProfile) -> bool
fn ne(&self, other: &DestinationProfile) -> bool
This method tests for !=
.
impl StructuralPartialEq for DestinationProfile
Auto Trait Implementations
impl RefUnwindSafe for DestinationProfile
impl Send for DestinationProfile
impl Sync for DestinationProfile
impl Unpin for DestinationProfile
impl UnwindSafe for DestinationProfile
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message T
in a tonic::Request
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more