diff options
author | Jason Ekstrand <jason@jlekstrand.net> | 2013-08-18 16:52:36 -0500 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2013-08-19 16:23:02 -0700 |
commit | 52de02348287fbc3ed24c00f154b3d9cb45830e7 (patch) | |
tree | 33586038a34261647e20f2f3b9c4f292bc51e264 | |
parent | 2cc551b1ece7db700591ea8e0990bf68e6aa2574 (diff) |
doc: Update the ID alocation section
The method described of alocation IDs has been wrong at least since version
1.0. This commit updates it to correspond to the way IDs are chosen in
versions >= 1.0.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
-rw-r--r-- | doc/publican/sources/Protocol.xml | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/doc/publican/sources/Protocol.xml b/doc/publican/sources/Protocol.xml index 33df6a9..74f2aea 100644 --- a/doc/publican/sources/Protocol.xml +++ b/doc/publican/sources/Protocol.xml @@ -196,10 +196,16 @@ <section id="sect-Protocol-Creating-Objects"> <title>Creating Objects</title> <para> - Each object has a unique ID. The IDs are allocated by the - client, from a range of IDs. The server tracks how many - IDs are left in the current range and sends a new range - when the client is about to run out. + Each object has a unique ID. The IDs are allocated by the entity + creating the object (either client or server). IDs allocated by the + client are in the range [1, 0xfeffffff] while IDs allocated by the + server are in the range [0xff000000, 0xffffffff]. The 0 ID is + reserved to represent a null or non-existant object. + + For efficiency purposes, the IDs are densely packed in the sense that + the ID N will not be used until N-1 has been used. Any ID allocation + algorithm that does not maintain this property is incompatible with + the implementation in libwayland. </para> </section> <section id="sect-Protocol-Compositor"> |