Skip to content

New quic backend quiche#97

Draft
qzhuyan wants to merge 6 commits intomainfrom
dev/quic/quiche
Draft

New quic backend quiche#97
qzhuyan wants to merge 6 commits intomainfrom
dev/quic/quiche

Conversation

@qzhuyan
Copy link
Copy Markdown
Collaborator

@qzhuyan qzhuyan commented Apr 19, 2026

Description

fix #98

Please include a summary of the changes and which issue is fixed. Please also include relevant motivation and context.

Fixes #(issue)

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.

  • Test A
  • Test B

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

Performance Impact

  • This change improves performance
  • This change has no performance impact
  • This change may have performance implications (please describe)

Security Considerations

  • This change has no security implications
  • This change has security implications (please describe)

qzhuyan added 6 commits April 19, 2026 13:25
…ave/load methods

Relaxes the impl<P,T> PriorityQueue bounds so the struct is usable without
serde when persistence isn't needed. The Serialize+DeserializeOwned constraints
are now only required on the save_to_file/load_from_file methods themselves.
Changes #[cfg(feature = "quic")] to #[cfg(any(feature = "quic", feature = "quic-proto"))]
so QuicMqttEngine and its quinn_proto imports are compiled when the lower-level
quic-proto feature is enabled directly on the flowsdk crate.
RustlsTlsConfig and RustlsTlsTransport are only meaningful in async contexts.
Adding the async-client guard prevents a compile error when rustls-tls is
enabled in isolation (e.g. the quic-quiche feature set).
…i-bindings feature

Changes bare uniffi::Record/Enum/setup_scaffolding! invocations to
#[cfg_attr(feature = "uniffi-bindings", ...)] so the FFI crate compiles
cleanly when uniffi-bindings is not selected (e.g. C-only or quiche-only builds).
@codecov-commenter
Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 17.88991% with 179 lines in your changes missing coverage. Please review.
✅ Project coverage is 76.24%. Comparing base (5b755ac) to head (7d4bf8e).

Files with missing lines Patch % Lines
src/mqtt_client/quic_engine_quiche.rs 0.00% 158 Missing ⚠️
flowsdk_ffi/src/engine.rs 59.61% 21 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #97      +/-   ##
==========================================
- Coverage   76.90%   76.24%   -0.66%     
==========================================
  Files          66       67       +1     
  Lines       17065    17214     +149     
==========================================
+ Hits        13124    13125       +1     
- Misses       3941     4089     +148     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Low FFI code size for QUIC

2 participants