Gnus development mailing list
 help / color / mirror / Atom feed
From: Simon Josefsson <jas@extundo.com>
Cc: ding@gnus.org
Subject: Re: Cache/Agent unification
Date: Sat, 04 Aug 2001 14:30:25 +0200	[thread overview]
Message-ID: <ilupuachuse.fsf@barbar.josefsson.org> (raw)
In-Reply-To: <vafy9p0ghmj.fsf@INBOX.auto.gnus.tok.lucy.cs.uni-dortmund.de> (Kai.Grossjohann@CS.Uni-Dortmund.DE's message of "Sat, 04 Aug 2001 14:00:04 +0200")

Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) writes:

> * Currently, the cache is being used to keep articles around even
>   after they've expired from the server.  But for disconnected
>   operation, you expect the local cache to be a more-or-less exact
>   mirror of the server state.  Hence, for disconnected operation you
>   want local copies to disappear when they disappear from the server.

I think the cache should store everything ever entered to it (modulo
some expiring mechanism to free disk space).  The Agent use marks and
a active range to identify which articles exists on the server or not.
Really-cached articles (that possibly doesn't exist on the server) are
marked as such as well.  The point is that storing everything in the
same directory is OK and saves space comparing to having two
directories with almost the same content.

All this assumes backends never re-use article numbers, of course.
I think we could introduce a uidvalidity-like concept in the cache
system fairly easily, if some backends wants to renumber articles.
(Nnimap could invalidate the cache directory when uidvalidity
changes.) OTOH backends that renumber articles are hard to cache in
any useful way so maybe we shouldn't bother.

> * You're right about the disk space requirements.  Maybe really old
>   articles shouldn't be in the local cache.  Hm.
> 
>   Maybe it would be enough to provide a couple of commands to add
>   articles to the cache and to remove them.  Examples:
> 
>   - Add each article as it is read.
>   - Add all articles visible in the current summary buffer.
>   - Add all unread articles.
>   - Remove old, read, articles.
>   - Never cache this group.
>   - Always cache all articles from that group.

Yes, some of these are good.  But it shouldn't be too manual, it would
be nice if the agent just did things automatically based on what
you've told it.  It should be possible to indicate how much disk space
you want to waste on a general level.  Three levels seems like a good
start:

 * Cache nothing
 * Cache headers, and manually entered (cache or agent) articles
 * Cache everything

Maybe the variable could support regexp's as well, indicating which
level should apply to each group.  Group parameters could be used as
well.

IMHO and just thinking out loud, of course.



  reply	other threads:[~2001-08-04 12:30 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-04 11:17 Simon Josefsson
2001-08-04 12:00 ` Kai Großjohann
2001-08-04 12:30   ` Simon Josefsson [this message]
2001-08-04 13:24     ` Kai Großjohann
2001-08-06 17:51     ` ShengHuo ZHU
2001-08-06 19:08       ` Kai Großjohann
2001-08-17 11:27         ` Lars Magne Ingebrigtsen
2001-08-17 12:27           ` Simon Josefsson
2001-08-17 13:12             ` Lars Magne Ingebrigtsen
2001-08-17 13:23               ` Kai Großjohann
2001-08-17 13:34                 ` Lars Magne Ingebrigtsen
2001-08-17 13:55               ` Simon Josefsson
2001-08-17 14:00                 ` Lars Magne Ingebrigtsen
2001-08-06 20:49       ` Christoph Conrad
2001-08-08 11:35       ` Simon Josefsson
2001-08-10 17:21         ` ShengHuo ZHU
2001-08-08 15:59     ` Paul Jarc
2001-08-08 18:13       ` Kai Großjohann
2001-08-09  8:35       ` Simon Josefsson
2001-08-09 11:13         ` Kai Großjohann
2001-08-09 12:11           ` Simon Josefsson
2001-08-09 14:17             ` Paul Jarc
2001-08-10 14:54 ` Per Abrahamsen
2001-08-17 11:29 ` Lars Magne Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ilupuachuse.fsf@barbar.josefsson.org \
    --to=jas@extundo.com \
    --cc=ding@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).