pub struct UpstreamInfo {Show 15 fields
pub upstream_instance: Option<Arc<dyn UpstreamInstance>>,
pub location_instance: Option<Arc<dyn LocationInstance>>,
pub location: Arc<str>,
pub name: Arc<str>,
pub address: String,
pub reused: bool,
pub processing_count: Option<i32>,
pub connected_count: Option<i32>,
pub status: Option<StatusCode>,
pub retries: u8,
pub max_retries: Option<u8>,
pub max_retry_window: Option<Duration>,
pub failed_addresses: Vec<String>,
pub backend_inflight: Option<InflightGuard>,
pub sticky_cookie: Option<String>,
}Expand description
Information about the upstream (backend) server.
Fields§
§upstream_instance: Option<Arc<dyn UpstreamInstance>>Upstream instance
location_instance: Option<Arc<dyn LocationInstance>>Location instance
location: Arc<str>The location (route) that directed the request to this upstream.
name: Arc<str>The name of the upstream server or group.
address: StringThe address of the upstream server.
reused: boolIndicates if the connection to the upstream was reused.
processing_count: Option<i32>The number of requests currently being processed by the upstream.
connected_count: Option<i32>The current number of active connections to the upstream.
status: Option<StatusCode>The HTTP status code of upstream response.
retries: u8The number of retries for failed connections.
max_retries: Option<u8>Maximum number of retries for failed connections.
max_retry_window: Option<Duration>The maximum total time window allowed for an operation and all of its subsequent retries.
The timer starts from the beginning of the initial attempt. Once this time window
is exceeded, no more retries will be initiated, even if the maximum number of
retries (max_retries) has not been reached.
If set to None, there is no time limit for the retry process.
failed_addresses: Vec<String>The backends this request was sent to and that failed it in a way that is retried. The next attempt goes to another one, where there is one.
backend_inflight: Option<InflightGuard>The request as one in flight on its backend, for an upstream that
chooses by that (least_conn): counted from the attempt to the
next one, or to the end of the request.
The cookie that keeps the client on the backend it was given,
for an upstream that does so (sticky:<cookie>): name=value,
to be set on the response when the client does not have it yet,
or has it for another backend.