[python] kterak vhodne resit architekturu IMAP klienta

Jan Kundrát jkt na gentoo.org
Čtvrtek Říjen 12 16:51:25 CEST 2006


Pokracuju v metode "radsi si to prectu pozdejc, protoze nad tim musim
myslet", a tudiz na mail uspesne zapominam. Inu sorry za pozdni reakci :).

Jan Matejka wrote:
> Proc? UI zavola metodu Mailbox.DejMiStrukturuMejlu a Mailbox v navratove
> metode
> odpovi "o tomto emailu nic nevim". UI tedy zobrazi presypaci hodiny a zavola
> Mailbox.ZjistiInformaceOmejluAinformujMeProstrednicvimObjektuN. Mailbox si
> to nekde poznamena a zapoveluje parser aby az bude vhodny okamzik informace
> ze serveru vytahl.
> Po case Parser ziska data, posle je Mailboxu, mailbox zavola prislusnou
> metodu podstrceneho UI objektu N,  UI zavola Mailbox.DejMiStrukturuMejlu,
> tentokrat vsak data dostane a zobrazi je.

Aha, ok. Jak to tak vidim, tak se bez nejakeho "bufferu na pozadavky"
stejne neobejdu, viz obrat "Mailbox si to nekde poznamena". Je otazka,
na jake urovni je to lepsi resit...

>> Ty fronty, co jsem navrhoval ja, by IMHO nemusely znamenat, 
>> ze UI cachuje. Naopak, pokud UI dostane zpravu, na kterou 
>> nemusi reagovat (protoze IMAP definuje treba situace, kdy je 
>> nutne upozornit usera etc) a ktera se mu podle nej nehodi, 
>> muze ji smele ignorovat, protoze si o ni muze zazadat i jinak.
>>
> 
> Jde o to na jake urovni cachovani uvazujeme, pokud by UI nemelo drzet pokud
> mozno zadna data, tak je treba aby byla z mista kde jsou ulozena dotupna
> rychle a to by v pripade front nebyla, takze by to UI muselo resit
> cachovanim.

Mno, otazka je, jak rychlou odpoved muze Mailbox aspon trosku
garantovat. Pokud bych se drzel sve puvodni koncepce, nemel by byt
problem - Mailbox se v nejake smycce diva do dvou front, jestli nahodou
neprisel nejaky pozadavek od UI nebo data od serveru, pokud ano, tak
nejak reaguje. Podstatny je, ze jakykoli blokovani na I/O urovni
(prerusene spojeni se serverem,...) Mailbox neovlivni, protoze bezi v
jinym threadu nez Parser...

Zkratka a dobre, dekuju za podmety, zamyslim se nad tim, mozna si o tom
nad pivem popovidam a pak uvidim :).

Hezky den,
-jkt


-- 
cd /local/pub && more beer > /dev/mouth

------------- další část ---------------
Netextová příloha byla odstraněna...
JmĂŠno: signature.asc
Typ: application/pgp-signature
Velikost: 252 bytes
Popis: OpenPGP digital signature
Url : http://www.py.cz/pipermail/python/attachments/20061012/7ab0c95d/attachment.pgp 


Další informace o konferenci Python