Actually, no, OT deals with this case. My almost working code that I
presented at LCA2010 deals with this edge case. Unfortunately it has bugs,
and dies in the arse randomly. Sigh.

Wave that I presented from:
https://wave.google.com/wave/#restored:wave:googlewave.com!w%252BTBvx4ehoA
The code:
http://code.google.com/p/wave-ot-editor/source/browse/#svn/wave-ot-editor

I can put together a JUnit test case showing that this case actually
stabilises using the Wave OT code, if that would help...

On Wed, Jan 20, 2010 at 11:40 AM, Torben Weis <[email protected]> wrote:

> Hi Brett,
>
> thanks for the suggestion.
> However, it seems to me that this approach is not completely correct.
>
> Imagine two clients which are sending a delta against the same server
> version.
> The delta says to insert "Hello" at some position in a blip.
> The correct outcome is "HelloHello" being inserted.
> Now one client fails to submit its delta, the other one succeeds.
> The client that failed cannot detect that it failed, because the other
> delta looks exactly the same. Thus, in the end "Hello" will be inserted
> only once.
>
> I agree that this is an academic corner case, but I see no solution for
> this
> when relying on delta comparisons.
>
> Greetings
> Torben
>
>
> 2010/1/19 Brett Morgan <[email protected]>
>
>> If you are transforming your docops, you can compare the docops coming
>> back down for equality. You are doing client side transformations, right?
>>
>> org.waveprotocol.wave.model.operation.OpComparators is the FedOne code for
>> comparing equality of ops. Which, after a whole bunch of edge case checking
>> turns into the following comparison:
>>
>> DocOpUtil.toConciseString(a).equals(DocOpUtil.toConciseString(b))
>>
>> In short, comparing docops for equality is easy, as long as you keep
>> transforming your docops...
>>
>>  On Wed, Jan 20, 2010 at 9:42 AM, Torben Weis <[email protected]>wrote:
>>
>>>  Hi James,
>>>
>>> How about when the client connects to the server again it does a history
>>>> check against the known good deltas it has sent out. If the last delta
>>>> it sent out isn't in the history, then it hasn't been received.
>>>>
>>>
>>> The problem is that this is impossible. How should QWaveClient recognize
>>> a delta as
>>> being its own? The server has perhaps transformed the delta, i.e. simple
>>> delta comparison
>>> is not possible and looking at version numbers does not help either.
>>>
>>> Greetings
>>> Torben
>>>
>>>
>>>>
>>>> --
>>>>
>>>> James Purser
>>>> http://wavingtheshiny.collaborynth.com.au
>>>> Wave Addresses:
>>>> [email protected] (wave.google.com)
>>>> [email protected] (wavesandbox.com)
>>>> [email protected] (collaborynth.com.au FedOne Server)
>>>> Skype: purserj1977
>>>> GTalk: [email protected]
>>>>
>>>>
>>>> --
>>>> 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]<wave-protocol%[email protected]>
>>>> .
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/wave-protocol?hl=en.
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> ---------------------------
>>> Prof. Torben Weis
>>> Universitaet Duisburg-Essen
>>> [email protected]
>>>
>>> --
>>> 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]<wave-protocol%[email protected]>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/wave-protocol?hl=en.
>>>
>>>
>>
>>
>> --
>> Brett Morgan http://domesticmouse.livejournal.com/
>>
>> --
>> 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]<wave-protocol%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/wave-protocol?hl=en.
>>
>>
>
>
> --
> ---------------------------
> Prof. Torben Weis
> Universitaet Duisburg-Essen
> [email protected]
>
> --
> 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]<wave-protocol%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/wave-protocol?hl=en.
>
>


-- 
Brett Morgan http://domesticmouse.livejournal.com/
--
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