function generateSyncMessages()

in src/spark_automerge_wrapper.js [158:180]


function generateSyncMessages(state, syncStates, peerId) {
  const syncMsgs = []
  // Due to RTP message size limit, need to split sync message if it is too big
  const maxSyncMsgLength = 800

  Object.entries(syncStates).forEach(([targetPeerId, syncState]) => {
    const [nextSyncState, syncMessage] = Automerge.generateSyncMessage(
      state,
      syncState || initSyncState(),
      maxSyncMsgLength
    )
    syncStates[targetPeerId] = nextSyncState

    if (syncMessage) {
      const metaData = {
        s: peerId, t: targetPeerId
      }
      syncMsgs.push(encodeMessage(metaData, syncMessage))
    }
  })

  return syncMsgs
}