logo       

Sponsor
FREE Network Mapping Tool for Microsoft® Office Visio® Professional 2007
Don't map your network by hand - let LANsurveyor Exx press for Microsoft Visio Professional 2007 automatically create network diagrams for you!

Re: thoughts on conversations: msg#00066

freedesktop.dbus

Subject: Re: thoughts on conversations

On Tue, 2005-08-09 at 20:03 -0400, Colin Walters wrote:
>
> But people are using D-BUS for many other things:
>
> o NetworkManager's bidirectional communication between the system
> NetworkManager service and the NetworkManagerInfo user daemon
> o gnome-power-manager wants to track active applications to e.g.
> determine which have unsaved data
> o notification protocol
> o totem <-> mozilla plugin communication
>
> Probably the best example is Ross' post from June about needing a way to
> asynchronously communicate progress messages back to an individual
> client, without broadcasting to all client.
>
> So, I thought I'd dump my semi-handwavy thoughts on how we make D-BUS
> nice for these use cases. Basically, we introduce the concept of a
> "conversation" with an object.

If I understand correctly, you're talking about what I would have called
a "client registration" pattern ... ?

i.e. the server wants to keep a list of clients, send things out to all
clients, send things to a specific client, be notified when a client
vanishes, and track attributes of each client, something like that.

Thought: maybe the API is around a "client list," i.e. server side API
for add client to list, remove client from list, signal clients, list
clients, ...

A random side point, I wouldn't do uint32 ID, maybe just use an object.
i.e. create an object path for the conversation (on the server side, or
even on the client side could work... ?)

You might could avoid an object path for the conversation itself and
just bind the conversation state to either the client or server
object... then you don't need the conversation ID to be passed around as
method args, just use the source/dest object in the message?

BTW a major mistake in gconf IMO is the way disaster recovery works. The
daemon logs the client list to a file, and if the daemon crashes it
recovers the client list from the log file. The way it should work
instead is that if the daemon crashes, each client knows to find the new
daemon and re-register. i.e. all state is effectively preserved by the
clients.

Another thing to consider is how this might interact with the idea of
properties; in two ways:
- we've considered having "property lists" associated with bus
connections
- there's the org.freedesktop.DBus.Properties interface in the spec

The latter could be used instead of the a{sv} if you used an object path
for the conversation ID.

Havoc







Only community members can participate in forum threads. You must Register or log in to contribute.

<Prev in Thread] Current Thread [Next in Thread>
Sponsor
FREE Network Mapping Tool for Microsoft® OfficeVisio Professional 2007
Don't map your network by hand - let LANsurveyor Express for Microsoft Visio Professional 2007
automatically create network diagrams for you!
Google Custom Search

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe

Navigation

Home | sitemap | advertise | OSDir is an inevitable website. super tiny logo