[python] kterak vhodne resit architekturu IMAP klienta

Jan Matejka matejka na cat.cz
Úterý Září 5 09:24:09 CEST 2006


Dobrého dne,
jsa asi ovlivněn modelem dokument-view 
bych to videl spis tak, ze mailbox bude s UI komunikovat primo
prostrednicvim metod mailboxu volanych z UI a callbacku kterym
bude mailbox oznamovat UI, ze ze se v mailboxu něco zmenilo.
IMHO oddelovat UI od mailboxu frontou nemá smysl protože UI
potrebuje pro zobrazovaní okamzitou odpoved relevantnich dat
nebo odpoved "data nejsou k dispozici".
Naopak parser bych nechal bezet ve zvlastnim threadu. Snazil
bych se o to, aby daval data v takove podobe, aby sly rychle
zaradit do datovych struktur mailboxu, aby aktualizacemi 
mailboxu nebylo blokovano UI.

zdravic Jan Matejka



> Ted resim problem, jak maji tyhle tri slupky spolu 
> komunikovat. Jako uplne prvni vec me napadlo to, ze kazda z 
> nich pobezi ve vlastnim threadu a vsechno si budou rikat pres 
> Queue.Queue (vzdy dvojice mezi jednotlivymi slupkami). Po 
> zapnuti mozku mi ale doslo, ze se Parser a Mailbox daji 
> krasne sloucit - proste v ramci jednoho cyklu thread 
> zkontroluje, jestli po nem neco nechce UI nebo jestli neco 
> neprislo od IAMP serveru.
> 
> Zbyva teda vyresit, co s komunikaci mezi Mailboxem a UI. 
> Premyslim o dvojici front, pro kazdy smer jednu. Ve smeru UI 
> -> Mailbox proudi prikazy typu "smaz zpravu XYZ", "ukaz mi 
> razeni do threadu" ci "dej mi hlavicky zpravy cislo 12", 
> opacne data jako "treti megabajt sedme prilohy zpravy cislo 
> 13 je \x00..."
> 



Další informace o konferenci Python