change global allocator and fix some services
This commit is contained in:
parent
087eba1d07
commit
9f6b73a7c0
3 changed files with 28 additions and 18 deletions
11
Cargo.toml
11
Cargo.toml
|
|
@ -17,10 +17,10 @@ h3 = ["quinn"]
|
|||
|
||||
[dependencies]
|
||||
anyhow = "1.0.58"
|
||||
clap = { version = "3.2.6", features = ["std", "cargo", "wrap_help"] }
|
||||
clap = { version = "3.2.8", features = ["std", "cargo", "wrap_help"] }
|
||||
env_logger = "0.9.0"
|
||||
futures = "0.3.21"
|
||||
hyper = { version = "0.14.19", default-features = false, features = [
|
||||
hyper = { version = "0.14.20", default-features = false, features = [
|
||||
"server",
|
||||
"http1",
|
||||
"http2",
|
||||
|
|
@ -41,7 +41,7 @@ rustls = "0.20.6"
|
|||
rand = "0.8.5"
|
||||
toml = "0.5.9"
|
||||
rustc-hash = "1.1.0"
|
||||
serde = { version = "1.0.137", features = ["derive"] }
|
||||
serde = { version = "1.0.139", features = ["derive"] }
|
||||
hyper-rustls = { version = "0.23.0", default-features = false, features = [
|
||||
"tokio-runtime",
|
||||
"webpki-tokio",
|
||||
|
|
@ -52,9 +52,7 @@ quinn = { version = "0.8.3", optional = true }
|
|||
h3 = { git = "https://github.com/hyperium/h3.git" }
|
||||
h3-quinn = { git = "https://github.com/hyperium/h3.git" }
|
||||
bytes = "1.1.0"
|
||||
|
||||
[target.'cfg(not(target_env = "msvc"))'.dependencies]
|
||||
tikv-jemallocator = "0.5.0"
|
||||
mimalloc-rust = "0.2.0"
|
||||
|
||||
|
||||
[dev-dependencies]
|
||||
|
|
@ -66,3 +64,4 @@ incremental = false
|
|||
lto = "fat"
|
||||
opt-level = 3
|
||||
panic = "abort"
|
||||
strip = true
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#[cfg(not(target_env = "msvc"))]
|
||||
use mimalloc_rust::*;
|
||||
#[global_allocator]
|
||||
static GLOBAL: tikv_jemallocator::Jemalloc = tikv_jemallocator::Jemalloc;
|
||||
static GLOBAL_MIMALLOC: GlobalMiMalloc = GlobalMiMalloc;
|
||||
|
||||
mod backend;
|
||||
mod backend_opt;
|
||||
|
|
|
|||
|
|
@ -209,39 +209,50 @@ where
|
|||
#[cfg(not(feature = "h3"))]
|
||||
{
|
||||
select! {
|
||||
_= self.cert_service(tx) => {
|
||||
_= self.cert_service(tx).fuse() => {
|
||||
error!("Cert service for TLS exited");
|
||||
},
|
||||
_ = self.listener_service(server, rx) => {
|
||||
_ = self.listener_service(server, rx).fuse() => {
|
||||
error!("TCP proxy service for TLS exited");
|
||||
},
|
||||
complete => {
|
||||
error!("Something went wrong");
|
||||
return Ok(())
|
||||
}
|
||||
};
|
||||
Ok(())
|
||||
}
|
||||
#[cfg(feature = "h3")]
|
||||
{
|
||||
if self.globals.http3 {
|
||||
tokio::select! {
|
||||
_= self.cert_service(tx) => {
|
||||
select! {
|
||||
_= self.cert_service(tx).fuse() => {
|
||||
error!("Cert service for TLS exited");
|
||||
},
|
||||
_ = self.listener_service(server, rx.clone()) => {
|
||||
_ = self.listener_service(server, rx.clone()).fuse() => {
|
||||
error!("TCP proxy service for TLS exited");
|
||||
},
|
||||
_= self.listener_service_h3(rx) => {
|
||||
_= self.listener_service_h3(rx).fuse() => {
|
||||
error!("UDP proxy service for QUIC exited");
|
||||
},
|
||||
complete => {
|
||||
error!("Something went wrong");
|
||||
return Ok(())
|
||||
}
|
||||
};
|
||||
Ok(())
|
||||
} else {
|
||||
tokio::select! {
|
||||
_= self.cert_service(tx) => {
|
||||
select! {
|
||||
_= self.cert_service(tx).fuse() => {
|
||||
error!("Cert service for TLS exited");
|
||||
},
|
||||
_ = self.listener_service(server, rx) => {
|
||||
_ = self.listener_service(server, rx).fuse() => {
|
||||
error!("TCP proxy service for TLS exited");
|
||||
},
|
||||
|
||||
complete => {
|
||||
error!("Something went wrong");
|
||||
return Ok(())
|
||||
}
|
||||
};
|
||||
Ok(())
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue