From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/47383 Path: main.gmane.org!not-for-mail From: kai.grossjohann@uni-duisburg.de (Kai =?iso-8859-1?q?Gro=DFjohann?=) Newsgroups: gmane.emacs.gnus.general Subject: Re: Agent downloads too many headers Date: Wed, 23 Oct 2002 17:54:05 +0200 Organization: University of Dortmund, Germany Sender: owner-ding@hpc.uh.edu Message-ID: <84lm4p6tia.fsf@crybaby.uni-duisburg.de> References: <84u1jfvvsx.fsf@crybaby.cs.uni-dortmund.de> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: main.gmane.org 1035390689 18845 80.91.224.249 (23 Oct 2002 16:31:29 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 23 Oct 2002 16:31:29 +0000 (UTC) Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 184OPm-0004tO-00 for ; Wed, 23 Oct 2002 18:31:27 +0200 Original-Received: from sina.hpc.uh.edu ([129.7.128.10] ident=lists) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 184ONK-0000bA-00; Wed, 23 Oct 2002 11:28:54 -0500 Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Wed, 23 Oct 2002 11:29:38 -0500 (CDT) Original-Received: from sclp3.sclp.com (qmailr@sclp3.sclp.com [209.196.61.66]) by sina.hpc.uh.edu (8.9.3/8.9.3) with SMTP id LAA24494 for ; Wed, 23 Oct 2002 11:29:20 -0500 (CDT) Original-Received: (qmail 26430 invoked by alias); 23 Oct 2002 16:28:29 -0000 Original-Received: (qmail 26425 invoked from network); 23 Oct 2002 16:28:28 -0000 Original-Received: from quimby.gnus.org (80.91.224.244) by gnus.org with SMTP; 23 Oct 2002 16:28:28 -0000 Original-Received: from news by quimby.gnus.org with local (Exim 3.12 #1 (Debian)) id 184NqR-0002F0-00 for ; Wed, 23 Oct 2002 17:54:55 +0200 Original-To: ding@gnus.org Original-Path: not-for-mail Original-Newsgroups: gnus.ding Original-Lines: 44 Original-NNTP-Posting-Host: crybaby.uni-duisburg.de Original-X-Trace: quimby.gnus.org 1035388495 8617 134.91.30.116 (23 Oct 2002 15:54:55 GMT) Original-X-Complaints-To: usenet@quimby.gnus.org Original-NNTP-Posting-Date: 23 Oct 2002 15:54:55 GMT User-Agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.3.50 (i686-pc-linux-gnu) Cancel-Lock: sha1:JjvwUUA9CB9RTc8gyxsijygVzyg= Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:47383 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:47383 Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) writes: > The situation is as follows: in gnus-agent-fetch-headers, if > gnus-agent-consider-all-articles is non-nil, the list of articles is > set to the active range of the group. The active range could be > something like (1 . 4711), so the list of articles would be (1 2 ... > 4710 4711). Then we remove from that list the list of > already-downloaded articles. But probably the user has started > reading the group when the article numbers were greater than 1 > already. So most probably there are a lot of articles in the > low-number range which are not in the group at all. > > Then the agent fetches the headers from that group for this list of > articles. > > So the agent ends up fetching (almost) all headers for all groups. > > What can we do? I now think the solution is to take a step backwards and to think about the NOV cache, too (the gnus-agent one), and about the behavior that we want the agent to have. Suppose I tell the agent to fetch articles. Then I read things offline and compose things and later on I send the queue. Then I'm back online and don't use the agent for a while. I read some messages while I'm online. Then I tell the agent to fetch articles in order to go offline. Here is the crucial point. I want the articles to be fetched that I've read while I was online. The question is now how to achieve this. For each group, the agent should store a list (range) of articles considered already. This list (range) should be updated whenever the user does `J s' or `J u' in the group buffer. So it should be updated from gnus-agent-fetch-group-1. That function calls gnus-agent-fetch-headers to get the articles to consider. So that's where we need to store our data. I think we're getting closer. Do you follow my logic? Is it right? kai -- ~/.signature is: umop ap!sdn (Frank Nobis)