Hello On Fri, Feb 01, 2008 at 04:50:08PM -0800, Robert Quattlebaum wrote: > On Feb 1, 2008, at 1:14 AM, Maciek Niedzielski wrote: >> Stanza router could pipeline jingle stanzas through all jingle plugins. >> Since a plugin tracks state, etc, it knows if it is interested in this >> stanza or not. So if it wants the stanza, stanza gets "eaten", else >> app-level stanza router tries to pass it to next plugin, etc. > > While such a model works well for apps with plug-ins in the same process as > the app, it does not work as well if your plug-ins are in different > processes--because it would be a blocking API.
Why? The router sends the stanza to the first plugin and stops blocking -- lets it process it. After a while, the first plugin sends the stanza back with note "I do not want this, give it to someone else" -- as any other message from the plugin. -- do { goto Water; } while( !tryBreakOffTheEar() ); Michal 'vorner' Vaner