private-attribution / ipa

A raw implementation of Interoperable Private Attribution
MIT License
40 stars 23 forks source link

Use circular buffer inside the `OrderingSender` #1135

Closed akoshelev closed 2 months ago

akoshelev commented 2 months ago

As proposed in #1118 and #1085, this gets further ahead in having 2 tunable parameters for the IPA infrastructure. The active window size that existed before and the new parameter that defines send network buffer size. Some experiments with setting both to different values are shown in #1118 along with the justification for it.

With this change, OrderingSender no longer accepts spare capacity and delegates most of its buffering business to CircularBuf, taking care of providing an async API around it and ordering writes.

codecov[bot] commented 2 months ago

Codecov Report

Attention: Patch coverage is 95.80153% with 11 lines in your changes missing coverage. Please review.

Project coverage is 91.57%. Comparing base (3fdda5b) to head (9261447). Report is 4 commits behind head on main.

:exclamation: Current head 9261447 differs from pull request most recent head aa1b12d

Please upload reports for the commit aa1b12d to get more accurate results.

Files Patch % Lines
ipa-core/src/helpers/gateway/send.rs 92.79% 8 Missing :warning:
ipa-core/src/helpers/buffers/ordering_sender.rs 97.47% 3 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1135 +/- ## ========================================== - Coverage 91.66% 91.57% -0.09% ========================================== Files 190 190 Lines 27990 27847 -143 ========================================== - Hits 25656 25501 -155 - Misses 2334 2346 +12 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.