Subject: Re: I/O timeout in nncp-daemon

From: Sergey Matveev <[email-masked]>
Date: Thu, 28 Jan 2021 18:25:22 +0300

*** John Goerzen [2021-01-28 09:03]:
>Ah, true.  Perhaps in those cases, before reading the remaining parts from
>the network, it would read in the existing bits?  (Or just do the check
>afterwards as it does now.)

Reading the file before -- bad idea, because it can be huge and that
will add the big delay before actual network transmission begins.
Network transmission time -- is what we should reduce first.

>I suppose that could lead to inefficiences if, say, it's getting a 1GB packet
>slowly and gets interrupted a bunch of times, but would probably help in the
>general case?

As I can see, there are no "general cases" -- everyone uses NNCP very
differently :-). Time spent online -- that should be reduced as much as
we can, in my opinion, so no delays because of disk activity should be
introduced (that is why asynchronous integrity check should be added
anyway). Local disk won't be missed and unavailable, but network
availability is something that can be missed for a very long time.

Merkle trees should help in transparent hashing while network
transmission is performed and then reading the beginning of file after
it is received. If any ready to use library exists that gives that
ability to partly calculate checksums, then possibly I will switch to it
in the next release. Writing the own one requires time :-(

>Hmm.  mu4e usually does the right thing, but in this case a basic reply is
>sending it to you personally, and a "reply all" is including you and the list
>on the reply.

Unfortunately do not know about mu4e, but there should be some kind of
"reply to list" command. Not a huge problem, but doubled messages are
little annoying (you literally tell you mail server to send a letter
both personally to me and to maillist, that sends its own copy to me as
a subscriber).

-- 
Sergey Matveev (http://www.stargrave.org/)
OpenPGP: CF60 E89A 5923 1E76 E263  6422 AE1A 8109 E498 57EF