transaction.hpp

Handles the generation and maintenance of the transaction id.

What is transaction id - A unique identifier created by hashing the bus name and message cookie from a dbus call. The bus name (unique to each application) and message cookie (unique within each bus peer) allows each dbus message to be uniquely identifed.

When is transaction id generated - When an error response message is created, and whenever the id is requested and has not been initialized yet.

Where is transaction id stored - In the exception object when an application error occurs.

How is transaction id used - Used to identify all the journal entries associated with a dbus operation.

  • When a journal entry is created, the transaction id is added as metadata. Therefore all journal entries created within a message have the same transaction id value.

  • When an error/event log is created, the transaction id of that message will be used to collect the journal entries associated with that message, providing debug information for the complete operation.

Multiple transaction ids - The exception object can store multiple transaction ids for operations that create multiple messages.