mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 17:55:36 +00:00
Use idiomatic feature names & namespace support from Rust 1.60
This commit is contained in:
parent
fc9211835e
commit
c229872134
12 changed files with 22 additions and 29 deletions
|
|
@ -12,9 +12,7 @@ readme = "../README.md"
|
|||
name = "aquatic_common"
|
||||
|
||||
[features]
|
||||
with-glommio = ["glommio"]
|
||||
with-hwloc = ["hwloc"]
|
||||
rustls-config = ["rustls", "rustls-pemfile"]
|
||||
rustls = ["dep:rustls", "rustls-pemfile"]
|
||||
|
||||
[dependencies]
|
||||
aquatic_toml_config = { version = "0.2.0", path = "../aquatic_toml_config" }
|
||||
|
|
@ -38,7 +36,5 @@ toml = "0.5"
|
|||
# Optional
|
||||
glommio = { version = "0.7", optional = true }
|
||||
hwloc = { version = "0.5", optional = true }
|
||||
|
||||
# rustls-config
|
||||
rustls = { version = "0.20", optional = true }
|
||||
rustls-pemfile = { version = "0.3", optional = true }
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ impl Default for CpuPinningDirection {
|
|||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "with-glommio")]
|
||||
#[cfg(feature = "glommio")]
|
||||
#[derive(Clone, Copy, Debug, PartialEq, TomlConfig, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
pub enum HyperThreadMapping {
|
||||
|
|
@ -25,7 +25,7 @@ pub enum HyperThreadMapping {
|
|||
Split,
|
||||
}
|
||||
|
||||
#[cfg(feature = "with-glommio")]
|
||||
#[cfg(feature = "glommio")]
|
||||
impl Default for HyperThreadMapping {
|
||||
fn default() -> Self {
|
||||
Self::System
|
||||
|
|
@ -35,7 +35,7 @@ impl Default for HyperThreadMapping {
|
|||
pub trait CpuPinningConfig {
|
||||
fn active(&self) -> bool;
|
||||
fn direction(&self) -> CpuPinningDirection;
|
||||
#[cfg(feature = "with-glommio")]
|
||||
#[cfg(feature = "glommio")]
|
||||
fn hyperthread(&self) -> HyperThreadMapping;
|
||||
fn core_offset(&self) -> usize;
|
||||
}
|
||||
|
|
@ -54,7 +54,7 @@ pub mod mod_name {
|
|||
pub struct struct_name {
|
||||
pub active: bool,
|
||||
pub direction: CpuPinningDirection,
|
||||
#[cfg(feature = "with-glommio")]
|
||||
#[cfg(feature = "glommio")]
|
||||
pub hyperthread: HyperThreadMapping,
|
||||
pub core_offset: usize,
|
||||
}
|
||||
|
|
@ -64,7 +64,7 @@ pub mod mod_name {
|
|||
Self {
|
||||
active: false,
|
||||
direction: cpu_pinning_direction,
|
||||
#[cfg(feature = "with-glommio")]
|
||||
#[cfg(feature = "glommio")]
|
||||
hyperthread: Default::default(),
|
||||
core_offset: 0,
|
||||
}
|
||||
|
|
@ -77,7 +77,7 @@ pub mod mod_name {
|
|||
fn direction(&self) -> CpuPinningDirection {
|
||||
self.direction
|
||||
}
|
||||
#[cfg(feature = "with-glommio")]
|
||||
#[cfg(feature = "glommio")]
|
||||
fn hyperthread(&self) -> HyperThreadMapping {
|
||||
self.hyperthread
|
||||
}
|
||||
|
|
@ -119,7 +119,7 @@ impl WorkerIndex {
|
|||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "with-glommio")]
|
||||
#[cfg(feature = "glommio")]
|
||||
pub mod glommio {
|
||||
use ::glommio::{CpuSet, Placement};
|
||||
|
||||
|
|
@ -271,7 +271,7 @@ pub mod glommio {
|
|||
/// Pin current thread to a suitable core
|
||||
///
|
||||
/// Requires hwloc (`apt-get install libhwloc-dev`)
|
||||
#[cfg(feature = "with-hwloc")]
|
||||
#[cfg(feature = "hwloc")]
|
||||
pub fn pin_current_if_configured_to<C: CpuPinningConfig>(
|
||||
config: &C,
|
||||
socket_workers: usize,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ pub mod access_list;
|
|||
pub mod cli;
|
||||
pub mod cpu_pinning;
|
||||
pub mod privileges;
|
||||
#[cfg(feature = "rustls-config")]
|
||||
#[cfg(feature = "rustls")]
|
||||
pub mod rustls_config;
|
||||
|
||||
/// Amortized IndexMap using AHash hasher
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ name = "aquatic_http"
|
|||
name = "aquatic_http"
|
||||
|
||||
[dependencies]
|
||||
aquatic_common = { version = "0.2.0", path = "../aquatic_common", features = ["rustls-config", "with-glommio"] }
|
||||
aquatic_common = { version = "0.2.0", path = "../aquatic_common", features = ["rustls", "glommio"] }
|
||||
aquatic_http_protocol = { version = "0.2.0", path = "../aquatic_http_protocol" }
|
||||
aquatic_toml_config = { version = "0.2.0", path = "../aquatic_toml_config" }
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ readme = "../README.md"
|
|||
name = "aquatic_http_load_test"
|
||||
|
||||
[dependencies]
|
||||
aquatic_common = { version = "0.2.0", path = "../aquatic_common", features = ["with-glommio"] }
|
||||
aquatic_common = { version = "0.2.0", path = "../aquatic_common", features = ["glommio"] }
|
||||
aquatic_http_protocol = { version = "0.2.0", path = "../aquatic_http_protocol" }
|
||||
aquatic_toml_config = { version = "0.2.0", path = "../aquatic_toml_config" }
|
||||
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ name = "aquatic_http_private"
|
|||
name = "aquatic_http_private"
|
||||
|
||||
[dependencies]
|
||||
aquatic_common = { version = "0.2.0", path = "../aquatic_common", features = ["rustls-config"] }
|
||||
aquatic_http_protocol = { version = "0.2.0", path = "../aquatic_http_protocol", features = ["with-axum"] }
|
||||
aquatic_common = { version = "0.2.0", path = "../aquatic_common", features = ["rustls"] }
|
||||
aquatic_http_protocol = { version = "0.2.0", path = "../aquatic_http_protocol", features = ["axum"] }
|
||||
aquatic_toml_config = { version = "0.2.0", path = "../aquatic_toml_config" }
|
||||
|
||||
anyhow = "1"
|
||||
|
|
|
|||
|
|
@ -22,9 +22,6 @@ name = "bench_announce_response_to_bytes"
|
|||
path = "benches/bench_announce_response_to_bytes.rs"
|
||||
harness = false
|
||||
|
||||
[features]
|
||||
with-axum = ["axum"]
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1"
|
||||
axum = { version = "0.5", optional = true, default-features = false }
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ impl AnnounceResponse {
|
|||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "with-axum")]
|
||||
#[cfg(feature = "axum")]
|
||||
impl axum::response::IntoResponse for AnnounceResponse {
|
||||
fn into_response(self) -> axum::response::Response {
|
||||
let mut response_bytes = Vec::with_capacity(128);
|
||||
|
|
@ -158,7 +158,7 @@ impl ScrapeResponse {
|
|||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "with-axum")]
|
||||
#[cfg(feature = "axum")]
|
||||
impl axum::response::IntoResponse for ScrapeResponse {
|
||||
fn into_response(self) -> axum::response::Response {
|
||||
let mut response_bytes = Vec::with_capacity(128);
|
||||
|
|
@ -197,7 +197,7 @@ impl FailureResponse {
|
|||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "with-axum")]
|
||||
#[cfg(feature = "axum")]
|
||||
impl axum::response::IntoResponse for FailureResponse {
|
||||
fn into_response(self) -> axum::response::Response {
|
||||
let mut response_bytes = Vec::with_capacity(64);
|
||||
|
|
@ -229,7 +229,7 @@ impl Response {
|
|||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "with-axum")]
|
||||
#[cfg(feature = "axum")]
|
||||
impl axum::response::IntoResponse for Response {
|
||||
fn into_response(self) -> axum::response::Response {
|
||||
match self {
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ name = "aquatic_udp"
|
|||
name = "aquatic_udp"
|
||||
|
||||
[features]
|
||||
cpu-pinning = ["aquatic_common/with-hwloc"]
|
||||
cpu-pinning = ["aquatic_common/hwloc"]
|
||||
|
||||
[dependencies]
|
||||
aquatic_common = { version = "0.2.0", path = "../aquatic_common" }
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ keywords = ["udp", "benchmark", "peer-to-peer", "torrent", "bittorrent"]
|
|||
readme = "../README.md"
|
||||
|
||||
[features]
|
||||
cpu-pinning = ["aquatic_common/with-hwloc"]
|
||||
cpu-pinning = ["aquatic_common/hwloc"]
|
||||
|
||||
[[bin]]
|
||||
name = "aquatic_udp_load_test"
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ name = "aquatic_ws"
|
|||
name = "aquatic_ws"
|
||||
|
||||
[dependencies]
|
||||
aquatic_common = { version = "0.2.0", path = "../aquatic_common", features = ["rustls-config", "with-glommio"] }
|
||||
aquatic_common = { version = "0.2.0", path = "../aquatic_common", features = ["rustls", "glommio"] }
|
||||
aquatic_toml_config = { version = "0.2.0", path = "../aquatic_toml_config" }
|
||||
aquatic_ws_protocol = { version = "0.2.0", path = "../aquatic_ws_protocol" }
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ readme = "../README.md"
|
|||
name = "aquatic_ws_load_test"
|
||||
|
||||
[dependencies]
|
||||
aquatic_common = { version = "0.2.0", path = "../aquatic_common", features = ["with-glommio"] }
|
||||
aquatic_common = { version = "0.2.0", path = "../aquatic_common", features = ["glommio"] }
|
||||
aquatic_toml_config = { version = "0.2.0", path = "../aquatic_toml_config" }
|
||||
aquatic_ws_protocol = { version = "0.2.0", path = "../aquatic_ws_protocol" }
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue