<div dir="ltr">Hi,<br><div class="gmail_extra"><br>On Sun, Dec 29, 2013 at 3:29 PM, Lennart Poettering <span dir="ltr"><<a href="mailto:mzqohf@0pointer.de" target="_blank">mzqohf@0pointer.de</a>></span> wrote:<br><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The flags are no "arbitrarily" inverted. We simply dropped the weird<br>
inversion that dbus1 had there in the first place. Moreover, this is<br>
not visible to the outside anyway, as applications should connect via a<br>
library such as libsystemd-bus, or gdbus to the thing, and those library<br>
trivially abstract the app developer away from this diffrence.<br></blockquote><div><br></div><div>I haven't read this whole thread or the spec (just saw it), but I think I remember the historical context on this one.<br>

<br>I believe the no-flags (flags=0) case is supposed to be sensible defaults and the flags are supposed to be the thing you'd opt into because you know what you are doing. There may even be discussion in the archives about flipping them for this reason, I don't know.<br>

<br></div><div>If the API (protocol doesn't necessarily matter, but people writing APIs may tend to just follow it) defaults to something like "don't reply" then it will result in confused app developers. Of course an even better API may not require app developers to specify this kind of stuff.<br>

</div><div><br></div><div>To avoid funky negation in flag names, you could also rename them (e.g. DONT_EXPECT_REPLY => FIRE_AND_FORGET) rather than inverting them. That would keep 0 as the safe default and common case, which I do think is helpful.<br>

<br>Havoc<br><br></div></div></div></div>