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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Returns the encoded length of the message without a length delimiter.

Clears the message, resetting all fields to their default.

Encodes the message to a buffer. Read more

Encodes the message to a newly allocated buffer.

Encodes the message with a length-delimiter to a buffer. Read more

Encodes the message with a length-delimiter to a newly allocated buffer.

Decodes an instance of the message from a buffer. Read more

Decodes a length-delimited instance of the message from the buffer.

Decodes an instance of the message from a buffer, and merges it into self. Read more

Decodes a length-delimited instance of the message from buffer, and merges it into self. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Wrap the input message T in a tonic::Request

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more