-
Notifications
You must be signed in to change notification settings - Fork 203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(DataStore): serialize IncomingAsyncSubscriptionEventPublisher events #3489
Conversation
ec77dae
to
1f194d2
Compare
Codecov ReportAttention:
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #3489 +/- ##
==========================================
+ Coverage 67.90% 67.98% +0.07%
==========================================
Files 1080 1080
Lines 36406 36415 +9
==========================================
+ Hits 24723 24755 +32
+ Misses 11683 11660 -23
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Issue #
#2982 (comment)
Description
Before the PR changes, the publisher would emit events concurrently which caused some of them to be missed by the subscriber even though the subscriber applied back pressure to process one event at a time (demand of
max(1)
). For more details regarding back-pressure, see https://developer.apple.com/documentation/combine/processing-published-elements-with-subscribersThe change, to publish the events though the same TaskQueue ensures that the events are properly buffered and sent only when the subscriber demands for it.
General Checklist
Given When Then
inline code documentation and are named accordinglytestThing_condition_expectation()
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.