v0.34.0_2
This commit is contained in:
1 parent
434e789144
commit
9cfc4588cc
18 files changed
+392
-121
No files matched your search
+14
-15
@@ -176,30 +176,28 @@ impl Drop for Exchange {
|
||||
_ => &self.metrics.status_5xx,
|
||||
}
|
||||
.fetch_add(1, Ordering::Relaxed);
|
||||
// Final Arc drop has exclusive access: move strings without locking.
|
||||
let backend = self
|
||||
.backend
|
||||
.lock()
|
||||
.get_mut()
|
||||
.unwrap_or_else(|e| e.into_inner())
|
||||
.as_ref()
|
||||
.map(|l| l.member.backend.id.clone());
|
||||
let websocket_phase = *self
|
||||
.websocket_phase
|
||||
.lock()
|
||||
.unwrap_or_else(|e| e.into_inner());
|
||||
let route = self.route.lock().unwrap_or_else(|e| e.into_inner()).clone();
|
||||
let websocket_phase = *self.websocket_phase.get_mut().unwrap_or_else(|e| e.into_inner());
|
||||
let route = self.route.get_mut().unwrap_or_else(|e| e.into_inner()).take();
|
||||
let source = ExchangeSource::name(self.source.load(Ordering::Relaxed));
|
||||
let cache_effective_enabled = read_effective(self.cache_effective_enabled.load(Ordering::Relaxed));
|
||||
let transform_effective_enabled = read_effective(self.transform_effective_enabled.load(Ordering::Relaxed));
|
||||
let client_ip = self
|
||||
.client_ip
|
||||
.lock()
|
||||
.get_mut()
|
||||
.unwrap_or_else(|e| e.into_inner())
|
||||
.clone();
|
||||
.take();
|
||||
let country = self
|
||||
.country
|
||||
.lock()
|
||||
.get_mut()
|
||||
.unwrap_or_else(|e| e.into_inner())
|
||||
.clone();
|
||||
.take();
|
||||
let request_bytes = self.request_bytes.load(Ordering::Relaxed);
|
||||
let response_bytes = self.response_bytes.load(Ordering::Relaxed);
|
||||
let duration_ms = duration.as_millis() as u64;
|
||||
@@ -248,7 +246,7 @@ impl Drop for Exchange {
|
||||
sni: None,
|
||||
authority: None,
|
||||
matched_by: None,
|
||||
cache_reason: *self.cache_reason.lock().unwrap_or_else(|e| e.into_inner()),
|
||||
cache_reason: *self.cache_reason.get_mut().unwrap_or_else(|e| e.into_inner()),
|
||||
vhost: self.vhost.take(),
|
||||
route,
|
||||
cache_effective_enabled,
|
||||
@@ -266,18 +264,18 @@ impl Drop for Exchange {
|
||||
websocket_phase,
|
||||
websocket_error: *self
|
||||
.websocket_error
|
||||
.lock()
|
||||
.get_mut()
|
||||
.unwrap_or_else(|e| e.into_inner()),
|
||||
h3_reset_code: *self.h3_reset_code.lock().unwrap_or_else(|e| e.into_inner()),
|
||||
h3_reset_code: *self.h3_reset_code.get_mut().unwrap_or_else(|e| e.into_inner()),
|
||||
upstream_status: match self.upstream_status.load(Ordering::Relaxed) {
|
||||
0 => None,
|
||||
value => Some(value),
|
||||
},
|
||||
upstream_error: self
|
||||
.upstream_error
|
||||
.lock()
|
||||
.get_mut()
|
||||
.unwrap_or_else(|e| e.into_inner())
|
||||
.clone(),
|
||||
.take(),
|
||||
client_ip,
|
||||
user_agent: self.user_agent.take(),
|
||||
country,
|
||||
@@ -290,6 +288,7 @@ impl Drop for Exchange {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy)]
|
||||
pub enum Direction {
|
||||
Request,
|
||||
|
||||
Reference in new issue
Block a user