Hi Bret, thanks for the reply.
On Jan 30, 11:51 pm, Brett Morgan <[email protected]> wrote: > On Sun, Jan 31, 2010 at 1:31 PM, Turner <[email protected]> wrote: > > Hi, > > > I hesitate to rehash what has probably been gone over many times > > already in this group, but I recently got the FedOne source and > > started to look through it. I'm trying to understand it, with the help > > of the whitepapers. I'm having a bit of trouble understanding it all, > > so I hope this is the right place to ask these questions. > > > As I understand it, the basic gist of operational transform is that > > there are a certain set of atomic operations on documents (insert > > characters, delete characters, etc.) that are designed in such a way > > that they can be combined into single composite operations run on a > > particular document (e.g. insert "xx" at position 1 and delete "d" at > > position 3). Is that about right? > > This act of making a composite operation is what Composer does. Give > it a linear list of BufferedDocOps and it will give you a > BufferedDocOp that represents the composition of the list of > operations. So does the composer act only on the input of a single client, or does it act on the streams from two separate clients? You say "Give it a linear list", but the whitepaper (at least to picture it gives) seems to suggest two separate docop streams being composed into one stresm > > > Now, what I'm not quite understanding is the Operation Transformer and > > Composer. The whitepaper says "The operation transformer works by > > taking two streaming operations as input, simultaneously processing > > the two operations in a linear fashion, and outputting two streaming > > operations. This stream-style processing ensures that transforming a > > pair of very large operations is efficient." What exactly is it > > outputting? I understand the composer takes two operation streams (I > > assume from two different clients trying to execute concurrent > > operations on a single document) and outputs the single, composite > > operation. But I don't quite understand where the Transformer does. > > Transformer is the magic that makes OT worthwhile. Transformer will > take edits that diverge from a common root and transform them such > that they can be composed together. What does that process entail? If it's fed a DocOpStream1 and DocOpStream2, does it output two identical streams with DocOp1a being composed with DocOp2a and DocOp1b being composed with DocOp2b, and so on? I thought that composing concurrent ops into one single op was what the composer did. Thanks, Turner > > > Again, I'm sure others have probably gone over these questions before, > > but I'm trying to understand the protocol and I'd really appreciate > > any help anyone could toss my way. > > > Thanks, > > Turner > > > -- > > 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 > > athttp://groups.google.com/group/wave-protocol?hl=en. > > -- > Brett Morganhttp://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.
