Please take our Survey
logo       

Choosing A Webhost:
A web hosting service is a type of Internet hosting service that allows individuals and organizations to provide their own website accessible via the World Wide Web. Web hosts are companies that provide space on a server they own for use by their clients as well as providing Internet connectivity, typically in a data center. Web hosts can also provide data center space and connectivity to the Internet for servers they do not own to be located in their data center, called colocation. more...

about signals: msg#00080

freedesktop.dbus

Subject: about signals

Hi,

I found this interesting thread in the list archives:
http://freedesktop.org/pipermail/dbus/2003-September/000488.html
http://freedesktop.org/pipermail/dbus/2003-October/000499.html

This is about the fact that one cannot send a signal *as* a particular
service, in other words signal messages always have a base service in
the SENDER header field. Seth suggested that the signal emitter set
the SENDER to a particular service.

I think that's quite reasonable in fact and that would more consistent
than the actual (unimplemented) solution.

There's a duality between METHOD messages and SIGNAL messages on many
aspects that is broken by this issue of services.
See, right now we have:

1) METHOD: many clients, one server (i.e. many senders, one receiver)
SIGNAL: one emitter, many listeners (i.e. one sender, many receiver)

2) METHOD: PATH header designate the object the message is sent TO
SIGNAL: PATH header designate the object the message is sent FROM

in the bus context:
3) METHOD: must set DESTINATION (or the bus will discard the message)
4) METHOD: must not set SENDER (the bus will overwrite it anyway)

I think it would be very consistent to have these rules for signals in
cases 3 and 4:
3) SIGNAL: must set SENDER
4) SIGNAL: must not set DESTINATION

See the idea ? METHODs cary information about the message receiver,
SIGNALs about the message sender.

Handling 3) for signals is easy: the bus checks that the application
sending the signal is the primary owner of the service, then discards
the message if it is not, or routes it to the other applictions.
Also, forbidding DESTINATION header in signal would clear one
inconsistency where a SIGNAL with a destination field is more or less
the same thing as a METHOD with a no_reply_expected flag.

Another advantage is that the complicated (and unimplemented yet)
tracking of service ownership at the bindings layer can be ditched. I
think it's best to keep the bindings as simple as possible. Requiring
the bindings to do complicated stuff like this tracking of service
ownership is dangerous because it makes it harder to write a binding
for another language/object system and bugs at this level could hurt
interoperability of applications using different languages.

What do you think of this ?

--
Olivier



<Prev in Thread] Current Thread [Next in Thread>
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 | advertise | OSDir is an inevitable website. super tiny logo