Hi Jochen, 2010/1/21 Jochen Bekmann <[email protected]>
> Hi Torben, > > Cool, it's great to see more code out there, good effort on your part. > Thanks > > It might be worth comparing your transformation output against that of > the published java code (since you can compare at the level of > protobuffers). If you check out the random operation generator in the > FedOne repository, it might give you a good place to start. > Yes, I really must do this. Seems I have to warm up my Java skills enough to serialize the deltas in a file. > > It would also be important to verify that deltas that have been > applied to a wavelet will yield the same results as with the published > Java code. (again, you could use the random operation generator). If > necessary you can dump the text of a modified wavelet document from > both your code and the java code and do a diff ? > This is a bit more tricky. I fear that possible errors would be rather in the area of annotations, since this is a bit more complex. I need to find a way to make the Java Wavelet comparable with the C++ wavelet. A common string representation might be the easiest way to go. > > I was curious about the OT code, so I had a quick look at your > My OT code looks quite different when compared with the FedOne code. I decided to do a clean room implementation and figure the algorithm out myself. One needs a challenge in life :-) > transform code. Unfortunately I don't have enough time right now to do a > proper > review, here are 2 small points to ponder: > > It looks like you don't check whether ops are from different documents > ? > http://code.google.com/p/qwaveclient/source/browse/trunk/model/documentmutation.cpp#761 > see > http://code.google.com/p/wave-protocol/source/browse/src/org/waveprotocol/wave/model/operation/Transform.java#54 > > This is handled by the following line: --> if ( o1.documentId() == o2.documentId() ) (see http://code.google.com/p/qwaveclient/source/browse/trunk/model/waveletdeltaoperation.cpp#59) in waveletdeltaoperation.cpp. It suddenly materialized itself in the right place :-) Thanks for the hint. Fixed. > What happens when a client submits at a version that is not the latest > version of the wavelet ? > In the server code this is handled in Wavelet::receive(). http://code.google.com/p/qwaveclient/source/browse/trunk/waveserver/model/wavelet.cpp#44 In QWaveClient the handling is (necessarily) different. You can find it in OTProcessor::handleReceive() http://code.google.com/p/qwaveclient/source/browse/trunk/model/otprocessor.cpp#138 Both code bases are using WaveletDeltaOperation::xform for transforming deltas. The two afore mentioned places just decide what to transform against what. > good luck and thanks for the heads-up. > Thanks for the immediate feedback. Cheers Torben > > thanks, > Jochen > Software Engineer, Google Wave > > > On Thu, Jan 21, 2010 at 10:56 AM, Torben Weis <[email protected]> > wrote: > > Hi, > > there is a new open-source wave server available written in C++ (I am a > Java > > hater). > > Don't ask me why exactly I did this, but now it's there :-) You can find > it > > in the QWaveClient svn (http://code.google.com/p/qwaveclient/) in the > > 'waveserver' folder. The server offers the same Client/Server protocol as > > FedOne. Thus, you can use it with FedOne console client or (of course) > > QWaveClient. > > The server supports OT (it uses the OT code from QWaveClient). I tested > it a > > bit with QWaveClient and it seems that it can be used for waving already, > > but it is still rather untested. Currently it does not federate, but it > can > > host multiple clients concurrently of course. > > So why should you care? Don't know. It might be a good starting point for > > C++ coders to work on a wave server and it might be helpful for wave to > have > > more than one implementation up and running. I will use it for some > > experiments with a better Client/Server protocol. The FedOne development > > model does not lend itself to such a task at all and last not least did i > > mention that I don't like Java? > > Cheers > > Torben > > > > > > -- > > 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. > > > > > > -- > 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].
For more options, visit this group at http://groups.google.com/group/wave-protocol?hl=en.
