Gnus development mailing list
 help / color / mirror / Atom feed
From: Simon Josefsson <jas@extundo.com>
Subject: Re: Time for partial download of nnimap messages again?
Date: Sat, 27 Jul 2002 16:09:18 +0200	[thread overview]
Message-ID: <ilu65z1l0tt.fsf@latte.josefsson.org> (raw)
In-Reply-To: <87ptx9qz77.fsf@doohan.bang.priv.no> (Steinar Bang's message of "Sat, 27 Jul 2002 11:47:56 +0200")

Steinar Bang <sb@dod.no> writes:

>>>>>> Simon Josefsson <jas@extundo.com>:
>
>> Steinar Bang <sb@dod.no> writes:
>>>>>>>> Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann):
>
>>>> Maybe the conservatism comes from the thing being hard to
>>>> understand and not modularized as well as it could be...
>
>>> I really think it should be redesigned to become asynchronous.
>
>> IMHO using a framework like the URL package for backend
>> communication would be good.  Perhaps even extended further to be
>> more thread friendly.
>
> With asynchronous backends, the idea is that you don't need threads.
> The network traffic is powered by the event loop checking for waiting
> input on sockets.

I don't think an asychnronous backend interface is enough -- at least
nnimap spend an non-neglible amount of its time processing, not
waiting for IO.  So it would still lock up Emacs when doing things.
And Gnus, where most of the time is spent when entering groups,
pressing g, etc, is not waiting for IO most of its time either.  (Try
elp-instrument-package on gnus-, imap-, and nnimap-. Only when doing
very big operations will imap- consume much of the time, and the IO
waiting is there.)

> But the backend interface would need a complete restructuring: from
> "request/response and then use the response to draw summary and
> article buffers" to "send a callback with the request, and have the
> callback draw summary and article buffers, as data arrives".

Yup.  Having incrementally built summary buffers (when you scroll the
emacs buffer, with some intelligent prefetching) would be quite nice.




  reply	other threads:[~2002-07-27 14:09 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-18 18:55 Steinar Bang
2002-07-18 19:36 ` Kai Großjohann
2002-07-18 21:47   ` Steinar Bang
2002-07-19  7:25     ` Kai Großjohann
2002-07-19  7:34       ` Steinar Bang
2002-07-19  8:11         ` Kai Großjohann
2002-07-19  7:48   ` Steinar Bang
2002-07-19  8:13     ` Kai Großjohann
2002-07-19 10:56       ` Steinar Bang
2002-07-26 19:59         ` Simon Josefsson
2002-07-27  9:47           ` Steinar Bang
2002-07-27 14:09             ` Simon Josefsson [this message]
2002-07-29 23:10               ` Wes Hardaker
2002-07-26 19:55   ` Simon Josefsson
2002-07-26 19:51 ` Simon Josefsson
2002-07-27  9:42   ` Steinar Bang

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=ilu65z1l0tt.fsf@latte.josefsson.org \
    --to=jas@extundo.com \
    /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).