Re: RFC mailbox interface
- From: Carlos Morgado <chbm chbm nu>
- To: balsa-list gnome org
- Subject: Re: RFC mailbox interface
- Date: Fri, 23 Nov 2001 00:02:43 +0000
Em Qui, 22 Nov 2001 22:23:01 M . Thielker escreveu:
>
> This is what it would look like for a folder that has a backing store. On
> one without a backing store, it would simply remove the message from the
> list and free it's memory if there are no more references (i.e.
> message->folders == NULL)
> That "folders" variable is to avoid an unnecessary load of a message not
> completely in memory when the last reference is a folder with backing store
> and the message is being deleted.
if a message is in 2 diferent folders with backing stores (ie. *real*
mailboxes) it's 2 diferent messages. a folder with a backing store is a
real mailbox for the user.
> Note that there is no need to load the message at this time if another
> folder with a backing store still has a copy, "load" tracks that. To avoid
> loading a message when it's deleted, all the client needs to do is remove
> it from all virtual folders first, using the has_backing_store API call to
> find out which are virtual.
this whole virtual and vfolders and cache and backing store thing got well
out of hand. a folder with backing store is a mailbox. it uses space on disk.
it lives somewhere. it's backed up. the user cares about it. a vfolder/view
doesn't ocupy space on disk. if the message is copied to a diferent mailbox
it's a totally diferent message.
if you add a cache layer it overloads mailbox_imap_get_message. it's totally
user transparent like a webbrowser cache. if it does *anything* else it's
broken.
so, we have
. indexes - they point to messages. they can be master (representation of
on disk stuff) or virtual (point to index://folder/msg)
. on disk message stores. you build master indexes from those. changes to
master indexes go into those.
this is simple enough and can be used for mostly anything.
pawel ? emmanuel ? peter ? kenneth ? melanie ?
> Also note that the load_message wrapper (the main load_message function of
> the lib) can use the information found in the _Foldertype structure to
> assess the proximity of a server and prefer the fastest one to load the
> message from, e.g. local maildir/mh first, local mbox second, IMAP on the
> same subnet third. other IMAP fourth.....
>
except if you're on UFS. or NFS. or samba. or some weird condition that
changes everything.
--
Carlos Morgado - chbm(at)chbm(dot)nu - http://chbm.nu/ -- gpgkey: 0x1FC57F0A
http://wwwkeys.pgp.net/ FP:0A27 35D3 C448 3641 0573 6876 2A37 4BB2 1FC5 7F0A
I am Homer of Borg! Prepare to be... OOooo! donuts!
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]