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 <[email protected]> --- doc/publican/sources/Protocol.xml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/doc/publican/sources/Protocol.xml b/doc/publican/sources/Protocol.xml index 1a7a7da..759aba5 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, 0xff000000) 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 incompatable with + the implementation in libwayland. </para> </section> <section id="sect-Protocol-Compositor"> -- 1.8.3.1 _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
