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 d1fb2f60b8
commit b6c49c9e25

View file

@ -196,10 +196,16 @@
<section id="sect-Protocol-Creating-Objects"> <section id="sect-Protocol-Creating-Objects">
<title>Creating Objects</title> <title>Creating Objects</title>
<para> <para>
Each object has a unique ID. The IDs are allocated by the Each object has a unique ID. The IDs are allocated by the entity
client, from a range of IDs. The server tracks how many creating the object (either client or server). IDs allocated by the
IDs are left in the current range and sends a new range client are in the range [1, 0xfeffffff] while IDs allocated by the
when the client is about to run out. 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> </para>
</section> </section>
<section id="sect-Protocol-Compositor"> <section id="sect-Protocol-Compositor">