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>
This commit is contained in:
Jason Ekstrand 2013-08-18 16:52:36 -05:00 committed by Kristian Høgsberg
parent 2cc551b1ec
commit 52de023482

View file

@ -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">