Gnus development mailing list
 help / color / mirror / Atom feed
From: Greg Stark <gsstark@MIT.EDU>
Subject: Asynchronous backend interface
Date: 07 Nov 1997 02:28:38 -0500	[thread overview]
Message-ID: <ycqvhy5jh7d.fsf@portD27.Generation.NET> (raw)


Wouldn't it be wonderful if you could check for new news while editting a
buffer. Or Gnus was capable of querying more than one backend at the same
time? Or if you could be reading one group while generating a particularly
large summary buffer at the same time?

All these things really are possible, though some might not be good ideas :)
*** They do NOT require a multi-threaded elisp interpreter. ***
Honest.

Half the job is already done when nntp.el was restructured to support
asynchronous prefetches. The problem is currently that the interface between
Gnus and its backends is inherently synchronous. It needs to be changed to
pass a callback function and a closure datum to the backend functions. Then
they could optionally return without the requested data, implicitly promising
to call the callback function when it becomes available.

I've proven such a feature would be great, the current development of my nndsc
backend enters a recursive edit during long operations. The ability to
continue to use my Emacs while they go on is incredibly useful. I don't think
it would be a good idea to use this approach in multiple backends though. 

If you don't believe me that this would be possible check the archives for the
two previous times i've proposed this, the first would be near the September
Gnus code freeze, and the second sometime during Red Gnus development.

It wouldn't be useful for everyone all the time. If you have a very fast
network connection your emacs might be unresponsive handling i/o. But if you
have a handful of slow foreign servers it would be very useful to scan them
while also getting all the quick stuff at the same time. If you have a slow
network connection it would just be nice to be able to download large summary
buffers without locking up your emacs while they download.

greg





             reply	other threads:[~1997-11-07  7:28 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-11-07  7:28 Greg Stark [this message]
1997-11-13 21:19 ` 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=ycqvhy5jh7d.fsf@portD27.Generation.NET \
    --to=gsstark@mit.edu \
    /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).