Pridať komentár

Príspevok, na ktorý odpovedáte

Re: Fronta? 24.07.2008 | 00:10
Avatar blackhole_ventYl   Používateľ

priamo protokol buffering nepozna, ale Xlib vsetky prijate spravy bufferuje, vytahujes si ich z buffru, ked mas cas. aplikacia ma vacsinou dedikovany thread, pripadne beha v main loope v ktorom caka na spravy. na vyberanie sprav existuje niekolko funkcii. klasicka funkcia xgetmessage, alebo ako sa vola (to je nepodstatne), ti vybere vzdy prvu prijatu spravu, takze pomocou nej vyberas udalosti v poradi, v akom prisli. existuju ale dalsie funkcie, mozes vyberat spravy podla toho, akeho su typu. vies si otestovat frontu, ci obsahuje spravu nejakeho typu, pripadne pre nejake okno a navyse si vies napisat filtrovaciu funkciu a potom vybrat spravu z fronty podla toho, ci prejde, alebo neprejde filtrovacou funkciou, takze vies s frontou pracovat vcelku komplexne.

obskakovanie sprav pri vyberani z fronty sa pouziva, ak pri nejakej akcii je predpoklad, ze moze byt dorucenych viac suvisiacich sprav. ako priklad, ktory som videl implementovany, bolo stlacanie tlacidiel. ked dostanes udalost o kliku, tak sa pozries, kolko takych udalosti mas vo fronte a podla toho urcis, ci sa jedna o single click, double click, alebo tripple click, alebo pri tahani, mozes skipovat udalosti, na ktore mas uz vo fronte ich naslednikov a tak znizit zatazenie procesora pri processingu udalosti o ktorej uz teraz vies, ze jej processing je zbytocny.

no a vlastnictvo okien a sessny. myslis tym trebars, ze vypnem pocitac a desktopove prostredie ulozi moju session? to sa riesi specialnymi protokolmi a posielanim uzivatelskych sprav typu: "idem sa vypnut, uloz si svoj stav", neskor sa to riesilo tak, ze hlavne okno malo pripnuty stitok s tym, ako program spustit a cosi sa sibrinkovalo s kniznicou ICE, ktora je pomala, derava, zabugovana a obecne zla. ako sa riesi session najnovsie, som neskumal.

a samozrejme, ked session ukoncis a X server skonci, vsetky vazby sa pretrhaju, cize okna objektivne prestanu existovat. pri novom spusteni session sa vytvoria nove okna s novymi IDckami a nastaveniami, takze nejake riesenie traverzovania udalosti sessionami sa riesit nemusi.
---
Cuchat s nadchou, to je ako sniffovat bez promiscu.

--- Cuchat s nadchou, to je ako sniffovat bez promiscu.
7 * 1 plus tisíc (číslom)

Maximálna veľkosť je: 2,0 MB