seokjin0414 opened a new pull request, #2845:
URL: https://github.com/apache/iggy/pull/2845

   Closes #88
   
   ## Summary
   
   - Add `tcp`, `quic`, `http`, `websocket` feature flags to server, SDK, 
iggy_common, and configs crates
   - Guard protocol modules, SenderKind/ClientWrapper enum variants, and match 
arms with `#[cfg(feature)]`
   - Make protocol-specific dependencies optional (axum, quinn, reqwest, 
tokio-tungstenite, etc.)
   - Extract shared TLS verifier to `tls/` module for tcp/websocket independence
   - Add `compile_error!` guards for zero-protocol builds
   
   ## Design
   
   - **TransportProtocol enum, IggyError variants, ServerConfig fields**: NOT 
gated — wire protocol and config stability
   - **SenderKind (iggy_common)**: Variants gated per protocol (tcp, quic, 
websocket). HTTP uses axum, not SenderKind
   - **ClientWrapper (SDK)**: Variants gated per protocol. Dispatch match arms 
in 13 `binary_*.rs` files gated accordingly
   - **Default features**: All protocols enabled — existing behavior unchanged
   - **compio dep**: Kept as-is (workspace dep with all features). Code-level 
gating only; compio feature split deferred to follow-up
   
   ## Verified
   
   - All 18 feature combinations compile (single-protocol, multi-protocol, 
zero-protocol error)
   - `cargo clippy --all-features -D warnings` clean
   - `cargo fmt` clean
   - Single-protocol builds produce 0 warnings


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to