Léxico TI › Infraestructura › BIG-REQUESTS

BIG-REQUESTS

Infraestructura Svenska → Actualizado: 2026-10-08

La extensión de X11 que subió el techo de una sola petición de 256 kilobytes a 16 megabytes, mediante un truco con el campo de longitud que los servidores antiguos nunca tuvieron que entender.

En el protocolo central de X cada petición empieza con una cabecera cuya longitud se indica en un campo de 16 bits contado en palabras de cuatro bytes. Eso permite como máximo 65 535 palabras, o 262 140 bytes, y en 1987 era espacio de sobra. Luego llegaron las imágenes. Un PutImage de una imagen a pantalla completa en color de 24 bits ocupa varios megabytes, y Xlib tenía que trocearla en silencio en franjas enviadas una a una, con un servidor que las dibujaba una tras otra. BIG-REQUESTS, que llegó con X11R6 en 1994, lo resuelve con una sola petición nueva, BigReqEnable. A partir de ahí el cliente puede poner el campo de longitud a cero y dejar que lo siga una palabra de 32 bits con la longitud real. El servidor responde con lo que aguanta; en X.Org, unos 16 megabytes.

La elegancia está en que un servidor sin la extensión nunca ve el formato, porque el cliente tiene que preguntar primero, y en que la cabecera antigua conserva su forma. Xlib la activa automáticamente al abrir la conexión, y XExtendedMaxRequestSize informa de cuál quedó el límite, junto al viejo XMaxRequestSize; XCB hace lo mismo y parte por su cuenta lo que aun así sea demasiado grande. Para imágenes realmente grandes en la misma máquina, MIT-SHM sigue siendo más rápido, porque no copia nada. BIG-REQUESTS llegó en la misma edición que XC-MISC, que daba a los clientes identificadores de recurso nuevos; ambas son de esa clase de extensiones que nadie ve pero que todo cliente X moderno usa en su primer milisegundo.

← Volver al léxico