From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: Robert Pluim <rpluim@gmail.com>,
Christian Barthel <bch@online.de>,
ding@gnus.org
Subject: Re: new wifi connection = nntp timeout = Emacs restart?
Date: Thu, 30 Apr 2020 10:38:48 -0700 [thread overview]
Message-ID: <87sggkeuvr.fsf@ericabrahamsen.net> (raw)
In-Reply-To: <87a72t35ng.fsf@gnus.org> (Lars Ingebrigtsen's message of "Thu, 30 Apr 2020 07:26:59 +0200")
Lars Ingebrigtsen <larsi@gnus.org> writes:
> Robert Pluim <rpluim@gmail.com> writes:
>
>> I see this too. Every time I try to look at it, itʼs an issue
>> somewhere deep in Emacs' networking code where itʼs trying to read
>> from the network and failing, but not failing enough that it gets an
>> error or a timeout. And then Real Life™ intervenes and I *have* to get
>> Gnus working again.
>
> Yeah, it's a really annoying problem, and unfortunately there is no
> general solution we can use. Sometimes network connections just "go
> away", and when you try to use a long-lived connection, you just don't
> get a response back.
>
> This is commonly due to wifi (IP changes or not), but I've also
> experienced it with some horrible routers.
>
> The problem is that there is no one-solution-fits-all for all the
> network protocols that Emacs supports.
>
> IRC has this solved -- they use keepalive packets, and if Emacs doesn't
> get one from the server, it reconnects. Easy peasy.
>
> NNTP and IMAP doesn't have anything like that, so nntp.el and nnimap.el
> should be clever and reconnect if we send a command and get no response
> back.
>
> However -- I've seen IMAP servers that take half a minute to give a
> response to a simple RESYNC command. (Rearranging its index server
> side, I think it was.)
>
> So you can't just put a 1-second timeout on all commands, either.
>
> But I've been pondering whether it would make sense for IMAP to always
> send an NOOP command before any other commands, because IMAP is a
> streaming protocol.
>
> So instead of
>
> 1 QRESYNC foo
>
> we'd send
>
> 1 NOOP
> 2 QRESYNC foo
I suppose this could also be sent every ten minutes or so on an idle
timer, quietly closing the imap connection if we don't get a response.
Ie faking a keepalive. That could ultimately reduce network traffic, right?
next prev parent reply other threads:[~2020-04-30 17:39 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-16 17:37 Eric Abrahamsen
2020-04-17 11:46 ` Eric S Fraga
2020-04-17 12:20 ` Gijs Hillenius
2020-04-17 12:26 ` Andreas Schwab
2020-04-17 14:51 ` Eric Abrahamsen
2020-04-17 15:38 ` David Engster
2020-04-17 16:35 ` Eric Abrahamsen
2020-04-19 6:37 ` Christian Barthel
2020-04-19 17:32 ` Eric Abrahamsen
2020-04-19 18:02 ` Robert Pluim
2020-04-19 21:23 ` Eric Abrahamsen
2020-04-19 22:10 ` Eric Abrahamsen
2020-04-20 4:54 ` Eric Abrahamsen
2020-04-20 7:40 ` Andreas Schwab
2020-04-20 15:45 ` Eric Abrahamsen
2020-04-20 15:54 ` Robert Pluim
2020-04-20 18:24 ` Eric Abrahamsen
2020-04-21 8:36 ` Alberto Luaces
2020-04-21 15:53 ` Eric Abrahamsen
2020-04-22 7:37 ` Alberto Luaces
2020-04-22 8:28 ` Alberto Luaces
2020-04-30 5:26 ` Lars Ingebrigtsen
2020-04-30 17:34 ` Eric Abrahamsen
2020-04-30 21:49 ` Lars Ingebrigtsen
2020-04-30 22:11 ` Eric Abrahamsen
2020-05-04 12:53 ` Robert Pluim
2020-05-04 13:13 ` Andreas Schwab
2020-05-04 13:33 ` Robert Pluim
2020-05-04 14:35 ` Andreas Schwab
2020-05-04 14:46 ` Robert Pluim
2020-05-04 15:10 ` Andreas Schwab
2020-05-04 16:29 ` Robert Pluim
2020-05-04 14:51 ` Lars Ingebrigtsen
2020-05-04 16:13 ` Robert Pluim
2020-05-04 16:36 ` Eric Abrahamsen
2020-05-04 17:21 ` Robert Pluim
2020-05-04 18:01 ` Lars Ingebrigtsen
2020-05-05 7:41 ` new wifi connection = nntp timeout = Emacs restart?, " Robert Pluim
2020-05-05 8:19 ` Lars Ingebrigtsen
2020-05-05 11:55 ` Robert Pluim
2020-05-19 13:34 ` Lars Ingebrigtsen
2020-05-19 13:36 ` Lars Ingebrigtsen
2020-05-04 18:47 ` Eric Abrahamsen
2020-05-04 15:38 ` Eric Abrahamsen
2020-05-04 16:28 ` Robert Pluim
2020-04-30 17:38 ` Eric Abrahamsen [this message]
2020-04-30 21:51 ` Lars Ingebrigtsen
2020-04-30 22:26 ` Eric Abrahamsen
2020-04-30 22:28 ` Lars Ingebrigtsen
2020-04-30 22:39 ` Eric Abrahamsen
2020-04-30 22:55 ` Lars Ingebrigtsen
2020-04-30 23:13 ` Eric Abrahamsen
2020-04-30 23:23 ` Lars Ingebrigtsen
2020-05-01 9:46 ` David Engster
2020-05-01 10:35 ` David Engster
2020-05-01 17:29 ` Eric Abrahamsen
2020-05-01 20:51 ` David Engster
2020-05-02 0:33 ` Eric Abrahamsen
2020-05-02 10:20 ` David Engster
2020-05-02 15:13 ` Eric Abrahamsen
2020-05-02 16:50 ` David Engster
2020-05-02 19:07 ` Eric Abrahamsen
2020-05-19 13:23 ` Lars Ingebrigtsen
2020-05-21 0:45 ` Eric Abrahamsen
2020-06-26 9:38 ` Lars Ingebrigtsen
2020-08-21 20:47 ` Eric Abrahamsen
2020-05-01 18:06 ` Eric Abrahamsen
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=87sggkeuvr.fsf@ericabrahamsen.net \
--to=eric@ericabrahamsen.net \
--cc=bch@online.de \
--cc=ding@gnus.org \
--cc=larsi@gnus.org \
--cc=rpluim@gmail.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).