Rust: Trigger CRUD upload on connect #650
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This triggers a CRUD upload when receiving the first sync line to ensure that local writes made while offline have a chance to get uploaded.
This also refactors
DataStream
to allow adding data while it's blocked onlowWater
- this is used by the Rust sync client because we might have to wait for lines from upstream and also have a upload completion notification that needs to be added to the stream.Finally, I've moved some of the sync tests from the
web
package tonode
. This ensures they're tested both with the JS and the Rust implementation. And while it shouldn't make a difference, node tests appear to be less flaky (and certainly a bit easier to debug).