Integration / D Bus Interview Questions
What is the difference between NO_REPLY_EXPECTED and a normal method call?
By default, a D-Bus method call is expected to receive a reply, either a method return with results or an error, and the caller's client library will typically wait for or track that reply, including handling timeouts if it never arrives.
Setting the NO_REPLY_EXPECTED flag on a method call message tells the destination, and the bus daemon, that the caller doesn't care about a response at all, functionally turning a method call into a fire-and-forget operation similar in spirit to a signal, except that it's still directed at a specific destination rather than broadcast.
This is useful for one-way notifications where waiting for and processing a reply would be pure overhead, though it comes with the trade-off that the caller genuinely has no way to know whether the call succeeded, failed, or even reached its destination at all, since no error will be reported back either.
More Related questions...