[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