ws protocol: make tungstenite integration optional feature

This commit is contained in:
Joakim Frostegård 2024-01-29 19:49:05 +01:00
parent fee465d205
commit 3c906f48ee
4 changed files with 9 additions and 1 deletions

View file

@ -12,6 +12,10 @@ rust-version.workspace = true
readme = "./README.md" readme = "./README.md"
[features]
default = ["tungstenite"]
tungstenite = ["dep:tungstenite"]
[lib] [lib]
name = "aquatic_ws_protocol" name = "aquatic_ws_protocol"
@ -26,7 +30,7 @@ hashbrown = { version = "0.14", features = ["serde"] }
serde = { version = "1", features = ["derive"] } serde = { version = "1", features = ["derive"] }
serde_json = "1" serde_json = "1"
simd-json = "0.13" simd-json = "0.13"
tungstenite = "0.21" tungstenite = { version = "0.21", optional = true }
[dev-dependencies] [dev-dependencies]
criterion = "0.5" criterion = "0.5"

View file

@ -15,6 +15,7 @@ pub enum InMessage {
ScrapeRequest(ScrapeRequest), ScrapeRequest(ScrapeRequest),
} }
#[cfg(feature = "tungstenite")]
impl InMessage { impl InMessage {
#[inline] #[inline]
pub fn to_ws_message(&self) -> ::tungstenite::Message { pub fn to_ws_message(&self) -> ::tungstenite::Message {

View file

@ -227,6 +227,7 @@ mod tests {
} }
} }
#[cfg(feature = "tungstenite")]
#[quickcheck] #[quickcheck]
fn quickcheck_serde_identity_in_message(in_message_1: InMessage) -> bool { fn quickcheck_serde_identity_in_message(in_message_1: InMessage) -> bool {
let ws_message = in_message_1.to_ws_message(); let ws_message = in_message_1.to_ws_message();
@ -246,6 +247,7 @@ mod tests {
success success
} }
#[cfg(feature = "tungstenite")]
#[quickcheck] #[quickcheck]
fn quickcheck_serde_identity_out_message(out_message_1: OutMessage) -> bool { fn quickcheck_serde_identity_out_message(out_message_1: OutMessage) -> bool {
let ws_message = out_message_1.to_ws_message(); let ws_message = out_message_1.to_ws_message();

View file

@ -23,6 +23,7 @@ pub enum OutMessage {
ErrorResponse(ErrorResponse), ErrorResponse(ErrorResponse),
} }
#[cfg(feature = "tungstenite")]
impl OutMessage { impl OutMessage {
#[inline] #[inline]
pub fn to_ws_message(&self) -> tungstenite::Message { pub fn to_ws_message(&self) -> tungstenite::Message {