From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/45853 Path: main.gmane.org!not-for-mail From: Steinar Bang Newsgroups: gmane.emacs.gnus.general Subject: Re: Time for partial download of nnimap messages again? Date: Sat, 27 Jul 2002 11:47:56 +0200 Organization: Probably a good idea Sender: owner-ding@hpc.uh.edu Message-ID: <87ptx9qz77.fsf@doohan.bang.priv.no> References: <87sn2gzx0y.fsf@doohan.bang.priv.no> <871ya0yx7y.fsf@doohan.bang.priv.no> <873cugx9xy.fsf@doohan.bang.priv.no> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: main.gmane.org 1027763301 5445 127.0.0.1 (27 Jul 2002 09:48:21 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sat, 27 Jul 2002 09:48:21 +0000 (UTC) Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17YOBP-0001Pi-00 for ; Sat, 27 Jul 2002 11:48:19 +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 17YOBM-0005VG-00; Sat, 27 Jul 2002 04:48:16 -0500 Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Sat, 27 Jul 2002 04:48:41 -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 EAA00180 for ; Sat, 27 Jul 2002 04:48:28 -0500 (CDT) Original-Received: (qmail 3836 invoked by alias); 27 Jul 2002 09:47:57 -0000 Original-Received: (qmail 3831 invoked from network); 27 Jul 2002 09:47:57 -0000 Original-Received: from quimby.gnus.org (80.91.224.244) by gnus.org with SMTP; 27 Jul 2002 09:47:57 -0000 Original-Received: from news by quimby.gnus.org with local (Exim 3.12 #1 (Debian)) id 17YOQr-0000uf-00 for ; Sat, 27 Jul 2002 12:04:17 +0200 Original-To: ding@gnus.org Original-Path: not-for-mail Original-Newsgroups: gnus.ding Original-Lines: 27 Original-NNTP-Posting-Host: b48sfn.cm.chello.no Original-X-Trace: quimby.gnus.org 1027764257 2451 213.46.211.96 (27 Jul 2002 10:04:17 GMT) Original-X-Complaints-To: usenet@quimby.gnus.org Original-NNTP-Posting-Date: 27 Jul 2002 10:04:17 GMT Mail-Copies-To: never User-Agent: Gnus/5.090007 (Oort Gnus v0.07) XEmacs/21.4 (Common Lisp, i386-debian-linux) Cancel-Lock: sha1:g//dvnE/uS/62rcr5W6CTQwSTqQ= Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:45853 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:45853 >>>>> Simon Josefsson : > Steinar Bang 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. 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". There is of course intermediates, where only the requests that potentially take a long time are made non-blocking, and the callbacks build up local data structures, and notify when finished, rather than do the actual drawing.