[Standards] Jingle "implementability"
Robert Quattlebaum
darco at deepdarc.com
Wed Jan 30 19:53:21 CST 2008
On Jan 30, 2008, at 11:22 AM, Greg Hudson wrote:
> On Wed, 2008-01-30 at 19:16 +0000, Alexander Jones wrote:
>>> I have a few implementation observations with respect to Jingle. The
>>> current implementation really requires all Jingle stuff to be
>>> managed
>>> centrally in an app. For example, you need a "Jingle engine" that
>>> things
>>> like file transfer and audio chat need to register with. This is
>>> problematic if you are implementing a Jabber client where all of the
>>> features are plug-ins.
>
>> Why not have a Jingle plugin, and AV Chat and File Transfer could
>> require its services?
>
> Agreed. Reimplementing Jingle in each of the functional plugins seems
> like the wrong answer; having some kind of nested plugin structure
> would
> be better.
What if these plug-ins are actually separate processes? Imagine if you
were using some sort of XMPP client daemon, for example. In such a
setup, you would have separate processes for file transfer, audio/
video chat, roster, etc. With how Jingle is currently specified, only
one process would be allowed to do Jingle stuff at a time. So you
could video chat, but not while being able to do file transfers. You
could use file transfer, but not be able to do video chat. One
possible solution would be to add a complex RPC for handling inter-
process jingle stuff, but that really sucks. It would be much more
complicated than the RPC for the XMPP stream itself.
But the truth is that all of that complexity isn't even necessary, as
long as the XMPP client daemon can know where to route any individual
stanza. If there was some sort if information in all of the jingle
stanzas which identifies which jingle service it was intended for,
then this problem is solved. With that in place, individual processes
can register for the jingle stanzas related to them.
There is nothing stopping these processes from sharing the same Jingle
implementation. They can use a shared library and that would work just
fine.
Adding this information to the stanzas would not stop a centralized
jingle implementation in an app, if the app author wants to do things
that way. Adding this information would just make implementation much
more flexible.
__________________
Robert Quattlebaum
Jabber: darco at deepdarc.com
eMail: darco at deepdarc.com
www: http://www.deepdarc.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.jabber.org/pipermail/standards/attachments/20080130/56243153/attachment.htm
More information about the Standards
mailing list