matrix-js-sdk
    Preparing search index...

    Class SyncAccumulator

    The purpose of this class is to accumulate /sync responses such that a complete "initial" JSON response can be returned which accurately represents the sum total of the /sync responses accumulated to date. It only handles room data: that is, everything under the "rooms" top-level key.

    This class is used when persisting room data so a complete /sync response can be loaded from disk and incremental syncs can be performed on the server, rather than asking the server to do an initial sync on startup.

    Index
    • Return everything under the 'rooms' key from a /sync response which represents all room data that should be stored. This should be paired with the sync token which represents the most recent /sync response provided to accumulate().

      Parameters

      • forDatabase: boolean = false

        True to generate a sync to be saved to storage

      Returns ISyncData

      An object with a "nextBatch", "roomsData" and "accountData" keys. The "nextBatch" key is a string which represents at what point in the /sync stream the accumulator reached. This token should be used when restarting a /sync stream at startup. Failure to do so can lead to missing events. The "roomsData" key is an Object which represents the entire /sync response from the 'rooms' key onwards. The "accountData" key is a list of raw events which represent global account data.

    • Parameters

      • roomId: string
      • eventIds: string[]

      Returns void