Containers (#171): Last chance to change instance ID from 'o' to 'x'
One of the review comments on implementations of #171 that led to that issue stalling indefinitely was that some reviewers would prefer the container instance ID to be an opaque integer, probably dbus_uint64_t
(x
), rather than an object path.
See https://bugs.freedesktop.org/show_bug.cgi?id=106712 for the original discussion of this in a somewhat readable form (comments that were copied into this automatically-imported issue are not very readable).
We are constrained by some of the original implementation of Containers having been released in dbus 1.14.x. That version includes:
-
DBUS_HEADER_FIELD_CONTAINER_INSTANCE
, with value 10 dbus_bool_t dbus_message_set_container_instance(DBusMessage *, const char *)
const char *dbus_message_get_container_instance (DBusMessage *)
- The
const char *
in those C functions is documented as being an object path
So if we are going to convert the object path into an integer, we need to figure out a way to deprecate those and introduce an integer replacement.
We also should not make this change unless we have serious plans to introduce the ability to match signals against integers (#478).
@smcv is not particularly interested in this change, and so will not be working on it. If someone else wants this change, this is their chance to step forward to implement it.
Deadline
If there is no substantial movement on this by the end of September 2023, then @smcv intends to reject this change and keep the container instance ID being an object path.
Dependencies
@smcv will not accept this change unless someone (presumably someone who wanted this) steps forward to implement #478. It does not necessarily need to be finished before making this change.