pub struct UpstreamInfo {
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>,
}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.