Hi Ben,
I found the following diff for the C/S protocol in the patch:
message ProtocolSubmitResponse {
required int32 operations_applied = 1;
- optional string error_message = 2;
+ optional protocol.ProtocolHashedVersion hashed_version_after_application =
2;
+ optional string error_message = 3;
}
This would solve a major issue I have with QWaveClient currently. My client
already caches submits, however, it was until now impossible to tell which
ProtocolWaveletUpdate corresponds to my ProtocolSubmitRequest.
I solved this by inspecting the delta's author, but this failes obviously
when the same user connects twice.
I hope that this change will show up in the main branch soon.
Torben
2009/11/18 Ben Kalman <[email protected]>
> No, the FedOne client doesn't wait for acknowledgement before sending the
> next operation -- it hasn't been an issue until recently. There is now a
> patch in review for implementing this, see
> http://codereview.waveprotocol.org/23002/show.
>
> -- Ben
>
>
> On Thu, Nov 19, 2009 at 12:52 AM, Daniel Paull <[email protected]>wrote:
>
>>
>> Hello All,
>>
>> I've been reading the various wave protocol white papers and wanted to
>> understand more about how the OT implementation employed by Wave
>> differs from that described in the Jupiter paper. In particular, the
>> use of server Acknowledgements as noted in the OT white paper:
>>
>> "Having a simple and efficient server is important in making Wave
>> reliable and scalable. With this goal, Wave OT modifies the basic
>> theory of OT by requiring the client to wait for acknowledgement from
>> the server before sending more operations. When a server acknowledges
>> a client's operation, it means the server has transformed the client's
>> operation, applied it to the server's copy of the Wavelet and
>> broadcasted the transformed operation to all other connected clients.
>> Whilst the client is waiting for the acknowledgement, it caches
>> operations produced locally and sends them in bulk later."
>>
>> I checked out the Fedone code and started digging to try and find
>> where the client caches operation while waiting for an
>> acknowledgement, but the code that does this has not jumped out at
>> me. Looking at ConsoleClient.java, it seems that operations are sent
>> to the server without any handshaking with the server at all. This
>> can be seen when sendAppendMutation() is called in response to user
>> input, which in turn calls backend.sendWaveletDelta(), which invokes
>> submitRequest() on the server. I could not find any code relating to
>> acknowledgements in the server side code either.
>>
>> Is the server acknowledgement and operation caching in the client not
>> implemented in the Fedone example? If it is, can someone please point
>> me in the right direction.
>>
>>
>> Thanks,
>>
>> Dan
>>
>>
>>
>
> >
>
--
---------------------------
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]
For more options, visit this group at
http://groups.google.com/group/wave-protocol?hl=en
-~----------~----~----~----~------~----~------~--~---