DBus Extensions

Thiago Macieira thiago at kde.org
Sat Aug 11 15:48:16 PDT 2007


Ryan Lortie wrote:
>> That's what my conceived-but-not-implemented DCOP bridge would do for
>> complex messages.
>
>If your "complex messages" might be something that a wider range of
>people might like to send, please propose them to the list.  We're
>currently seeing a huge number of suggestions for additions to the DBus
>type system and everyone should probably be heard out on their ideas.
>Sending complex messages as a binary blob is unfortunate.

Ryan and I had a nice discussion on IRC about this kind of thing. I have 
to collect my thoughts and let the ideas mature.

But let me summarise a bit here:

DCOP and QDataStream:
QDataStream works as the "body" of the message. The types (signature) are 
sent in a separate portion of the DCOP message. Unlike D-Bus, the type 
system isn't fixed: it's just the C++ class names as strings. That means 
DCOP used to send very non-standard types, specific to each application.

That's the kind of "complex message" that I alluded to, above. That kind 
of message the bridge I conceived would be wholly unable to translate 
back into D-Bus types, because it can't demarshall the data in the 
QDataStream stream.

QDataStream was conceived to be a serialisation to disk, such that the 
same application will load it back. So it doesn't try to limit the types 
to well-known ones. But, unlike DValue, it doesn't try to use the data 
loaded from the file directly -- it wouldn't work with Qt classes 
anyways.

DValue:
Ryan explained quite a lot of the format and I find it very interesting. 
So interesting that it could be standardised for anything stored on disk.

At the same time, I am unsure about the value of the indexes it provides 
on a network stream like D-Bus. Quite simply because almost none of the 
bindings can make use of them.

New types and protocol extension:
I, for one, have no interest or need for any new types on D-Bus. The only 
that makes a bit of sense to me is an empty variant (variant carrying 
nothing). A maybe-type would be a distant second to me.

That said, however, I do have an interest in keeping the protocol 
backwards compatible whenever possible and also allow for future 
expansions without the pain we're seeing now. This is the part where I 
have to collect my ideas and write a better email explaining.

Food for thought: the idea is to detach the "meaning" of the types from 
the actual transport.

-- 
  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freedesktop.org/archives/dbus/attachments/20070811/f55cc597/attachment.pgp 


More information about the dbus mailing list