Well, the algorithm works like this:

server, client A, and client B all sync at version 15.

Client A and Client B both make an edit at the same time. The delta
packet indicates the base version (15) in both cases.

Server sees client A changes first. Since the server and client are at
the same version, it applies the delta to create v16.
Server sees client B changes next. It uses the OT algorithm
(technically against every version that B doesn't know about, which in
this case is just the v16) - now there is a new delta-prime from B AND
a delta2 to send back to B.
It applies delta-prime to create v17.

Server sends an ack to client A, which says apply your change, then
this delta-prime to sync you up to v17.
Server sends an ack to client B, which says apply your change, then
this delta2 to sync you up to v17.

So the resolution is completely straightforward.

On Mon, Nov 30, 2009 at 2:05 AM, Jelke  J. van Hoorn <[email protected]> wrote:
> Hi,
>
> I was looking the "under the hood" vidieo of Google IO 2009. And I'm
> wondering what happens in the following situation:
>
> On the server a piece of text is lets say "15" and two clients alter
> the same piece in "16" and "17" respectively.
> What would be the outcome of the transforms? There is no unambigeous
> way to cope with this edit I think.
>
> Grtz Jelke

--

You received this message because you are subscribed to the Google Groups "Wave 
Protocol" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/wave-protocol?hl=en.


Reply via email to