IT-lexicon › Infrastructuur › INCR-overdracht (X11)

INCR-overdracht (X11)

Infrastructuur Svenska → Bijgewerkt: 2026-10-09

De manier waarop de ICCCM een selectie aflevert die te groot is voor één property: in brokken, met een handdruk per brok en evenveel kansen dat er iets misgaat.

Wanneer een programma een X-selectie opvraagt, zet de eigenaar het antwoord in een property op het venster van de aanvrager. Properties reizen als X-requests, en in het klassieke protocol was een request begrensd op 256 KB; een heel document op het klembord paste dus niet. De ICCCM lost dit op met het type INCR: in plaats van data schrijft de eigenaar een getal, een ondergrens voor het aantal bytes dat eraan komt, en de aanvrager begrijpt dat er meer volgt.

Dan begint de dans. De aanvrager verwijdert de property, de eigenaar schrijft het eerste brok, de aanvrager leest en verwijdert het, de eigenaar wacht op de PropertyNotify over de verwijdering voordat hij het volgende brok schrijft, en een leeg brok markeert het einde. Beide kanten moeten midden in een overdracht naar property-events luisteren en beide hebben een time-out nodig voor het geval de ander halverwege wegvalt. Veel clients implementeren dit slordig of helemaal niet, wat de klassieke bug verklaart waarbij een grote plakactie leeg uitkomt terwijl een kleine werkt. BIG-REQUESTS verhoogde het plafond, maar INCR blijft bestaan omdat de grens nooit helemaal verdween.

← Terug naar het lexicon