Skip to content
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

[DTP-955] Buffer and flush state operations during a STATE_SYNC sequence #1909

Merged
merged 4 commits into from
Nov 14, 2024

Commits on Oct 30, 2024

  1. Handle regional timeserials for LiveObjects

    Regional timeserial for a LiveObject:
    - is set to StateObject.regionalTimeserial when object is created
    during SYNC sequence
    - is set to message's channelSerial property when object is
    created via a state operation message
    - is updated to message's channelSerial property when an operation is
    applied on an object via a state operation message
    - is equal to zero-value Timeserial (`@0-0`) when creating a zero-value
    object
    VeskeR committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    7ccfe50 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2024

  1. Implement buffering and application of operations during a SYNC sequence

    - state operation messages are buffered while SYNC is in progress
    - all buffered operations are discarded when new SYNC starts
    - when SYNC ends operations to apply are decided based on the regional
    timeserial of the message
    - eligible operations are applied via a regular LiveObject operation
    application logic
    
    Resolves DTP-955
    VeskeR committed Nov 8, 2024
    Configuration menu
    Copy the full SHA
    ad0311e View commit details
    Browse the repository at this point in the history
  2. Make injecting state messages in LiveObjects tests simpler

    This refactoring is needed for upcoming tests for buffering of state
    operation messages.
    VeskeR committed Nov 8, 2024
    Configuration menu
    Copy the full SHA
    a5f8667 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d919f8b View commit details
    Browse the repository at this point in the history