diff options
Diffstat (limited to 'doc/dbus-specification.xml')
-rw-r--r-- | doc/dbus-specification.xml | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/doc/dbus-specification.xml b/doc/dbus-specification.xml index 1d47733c..ff625447 100644 --- a/doc/dbus-specification.xml +++ b/doc/dbus-specification.xml @@ -2165,6 +2165,28 @@ The set of optionally-escaped bytes is intended to preserve address readability and convenience. </para> + + <para> + A server may specify a key-value pair with the key <literal>guid</literal> + and the value a hex-encoded 16-byte sequence. This globally unique ID must + be created by filling the first 4 bytes with a 32-bit UNIX time since the + epoch, and the remaining 12 bytes with random bytes. If present, the GUID + may be used to distinguish one server from another. A server should use a + different GUID for each address it listens on. For example, if a message + bus daemon offers both UNIX domain socket and TCP connections, but treats + clients the same regardless of how they connect, those two connections are + equivalent post-connection but should have distinct GUIDs to distinguish + the kinds of connection. + </para> + + <para> + The intent of the GUID feature is to allow a client to avoid opening + multiple identical connections to the same server, by allowing the client + to check whether an address corresponds to an already-existing connection. + Comparing two addresses is insufficient, because addresses can be recycled + by distinct servers. + </para> + <para> [FIXME clarify if attempting to connect to each is a requirement or just a suggestion] |