You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In my various implementations using the LDM, I often hold events that cannot be sent immediately (in the case of Matrix, this is due to sending limits) in an output buffer. When consecutive operations are sitting in the buffer waiting to be sent, they are merged together if possible to reduce the number of events sent.
However, this requires an algorithm to merge nodes together and as I started improving it, it began to look more and more like the LDM itself. In that case, why not just grab the nodes right out of the LDM itself? The insertion and removal methods could be modified to additionally return an object specifying the relevant region of nodes where the insertions/removals originated from. When the events being sent end up stuck in a queue, these regions only are merged together if possible. Then, the LDM is asked for the insertions/removals in that region. This effectively offloads squashing to the LDM and potentially opens up an opportunity to share the current state of the document with other peers.
The text was updated successfully, but these errors were encountered:
In my various implementations using the LDM, I often hold events that cannot be sent immediately (in the case of Matrix, this is due to sending limits) in an output buffer. When consecutive operations are sitting in the buffer waiting to be sent, they are merged together if possible to reduce the number of events sent.
However, this requires an algorithm to merge nodes together and as I started improving it, it began to look more and more like the LDM itself. In that case, why not just grab the nodes right out of the LDM itself? The insertion and removal methods could be modified to additionally return an object specifying the relevant region of nodes where the insertions/removals originated from. When the events being sent end up stuck in a queue, these regions only are merged together if possible. Then, the LDM is asked for the insertions/removals in that region. This effectively offloads squashing to the LDM and potentially opens up an opportunity to share the current state of the document with other peers.
The text was updated successfully, but these errors were encountered: