Skip to content

ffi: small sharedlib#99

Merged
qzhuyan merged 10 commits into
mainfrom
dev/ffi/small-sharedlib
May 12, 2026
Merged

ffi: small sharedlib#99
qzhuyan merged 10 commits into
mainfrom
dev/ffi/small-sharedlib

Conversation

@qzhuyan
Copy link
Copy Markdown
Collaborator

@qzhuyan qzhuyan commented May 7, 2026

Description

This is the 2nd attempt to fixes #98
Reduce shared lib size by linking system lib crypto to decopule the ring for FFI.

Fork of quinn is required .

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 and others added 7 commits May 4, 2026 15:37
Co-authored-by: Copilot <copilot@github.com>
…enabling QUIC-only minimal build

- switch QUIC/rustls crypto path to aws-lc-rs (ring-free via patched quinn)
- add release-small profile for size-optimized artifacts
- make grpc stack optional (tonic/prost/tonic-prost)
- add async-client/grpc feature gates in core crate
- make uniffi/serde/serde_json optional in flowsdk_ffi
- gate UniFFI derives/exports/scaffolding behind uniffi-bindings
- gate serde_json-based event JSON C APIs behind uniffi-bindings
- require uniffi-bindings for uniffi-bindgen bin target
- relax PriorityQueue serde bounds to persistence methods only

Co-authored-by: Copilot <copilot@github.com>
…for reducing the shared lib size.

Co-authored-by: Copilot <copilot@github.com>
… C FFI elapsed time tracking

Co-authored-by: Copilot <copilot@github.com>
…dencies for improved compatibility

Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Comment thread .github/workflows/ci.yml
uses: actions/checkout@v4

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented May 7, 2026

Codecov Report

❌ Patch coverage is 92.00000% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 76.85%. Comparing base (9143601) to head (7b29150).

Files with missing lines Patch % Lines
src/mqtt_client/transport/quic.rs 81.81% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #99      +/-   ##
==========================================
- Coverage   76.90%   76.85%   -0.06%     
==========================================
  Files          66       66              
  Lines       17064    17100      +36     
==========================================
+ Hits        13123    13142      +19     
- Misses       3941     3958      +17     

☔ 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.

@qzhuyan qzhuyan force-pushed the dev/ffi/small-sharedlib branch from c4c24b7 to 21a0488 Compare May 11, 2026 16:38
@qzhuyan qzhuyan marked this pull request as ready for review May 12, 2026 11:42
@qzhuyan qzhuyan merged commit 8e7bd2d into main May 12, 2026
28 checks passed
@qzhuyan qzhuyan deleted the dev/ffi/small-sharedlib branch May 12, 2026 13:12
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

3 participants