Hi Tsvetelina, So there seem to be a couple of questions in here and I'm not sure at what level you are looking for a response. So first, PubSub is only used for Federation. That is wave server to wave server. Client/ Server Protocol is under a totally separate mechanism which as of today is either RPC/Protobuf or WebSocket/JSON. The Federation spec at http://www.waveprotocol.org/draft-protocol-specs/draft-protocol-spec#anchor2 reads (the last line being most important):
/*START SPEC*/ As an XMPP extension, this protocol expects a bidirectional stream to be established according to the XMPP core specification. The connection MUST be secured using the TLS feature of XMPP. It is RECOMMENDED that communication is encrypted (namely by using a non- identity TLS cipher). All communication except wavelet updates are sent via PubSub (, “XMPP Publish Suscribe,” September 2008.) [XEP0060] events. Wavelet updates are sent using Message stanzas. /*END SPEC*/ When and why messages are sent becomes quite an involved question that probably requires some meddling in the code. I wrote this post as a reference to show where code was executed based largely on XMPP messages received: http://www.angleofsight.com/2010/02/google-wave-federation-part-4/ . To address your question specifically, a request history can be invoked in many places like as part of openRequest in ClientFronendImpl when a user opens an existing wave. When a user is added to a wave in participantUpdate in ClientFrontendImpl a requestHistory is called. It is called from internalUpdate in RemoteWaveletContainerImpl if a Remote Server finds it is missing history when it receives a delta update. So it can be quite involved in terms of answering the why behind each operation. I know it's a lot to go through, but I think if you want to develop on (as opposed to just use) FedOne you will have to dive into the code. I recommend reading the specs first, but they will only take you so far. I have tried to lessen some of the learning curve I went through by writing a few articles, the first of which is here http://www.angleofsight.com/2010/02/google-wave-federation-part-1/ . Hope this helps and welcome to the community. R, Anthony On May 3, 10:25 am, Tsvetelina <[email protected]> wrote: > Hello, > > I've been going over the wave protocol specs and I miss a detailed > information on how exactly Google Wave uses PubSub. I am really not > able to get the whole picture from the specs, so I would be grateful > to get some insights from you. > > It is also not really clear to me when and why certain messages are > send. For example, when exactly does a remote send a history request > to a host, and what does it have to do with pubsub? I hope someone > would have satisfying answers to these questions. > > Best regards, > Tsvetelina > > -- > 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. -- 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.
