feat(CosmosStore): Expose ISyncContext.SessionToken #195
+16
−7
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 PR exposes a
SessionToken
onEquinox.Core.ISyncState
, which enables logic in aService
to access that (along with theVersion
plumbed in #194) via theQueryEx
andTransactAsyncEx
APIs. More importantly, it enables one to flow theSessionToken
out to the caller in order to enable Read-Your-Writes guarantees for a system's overall client session.This could be merged in the 2.0 timeframe, but leaving it in the 3.0 milestone for now as doing so only makes sense if
Equinox.Cosmos
(or another store) actually wires through theSessionToken
correctly, which involves addressing #192:Equinox.Stream
, one needs to be able to supply the incomingSessionToken
(maybe add asessionToken
argument inResolve
?Load
internally, the suplied token needs to be passed in the OptionsStreamToken
that's yielded backcc @thednaz @ylibrach