edbrowse-dev - development list for edbrowse
 help / color / mirror / Atom feed
From: Adam Thompson <arthompson1990@gmail.com>
To: Karl Dahlke <eklhad@comcast.net>
Cc: edbrowse-dev@lists.the-brannons.com
Subject: Re: [Edbrowse-dev] One program Two processes
Date: Sat, 26 Dec 2015 15:40:55 +0000	[thread overview]
Message-ID: <20151226154055.GD3144@hob.adamthompson.me.uk> (raw)
In-Reply-To: <20151126102340.eklhad@comcast.net>

[-- Attachment #1: Type: text/plain, Size: 1761 bytes --]

On Sat, Dec 26, 2015 at 10:23:40AM -0500, Karl Dahlke wrote:
> > I'd go for UDP rather than TCP for local IPC,
> 
> Imagine one edbrowse-ht process, the one with the curl space,
> that does all the http https and ftp fetches.
> edbrowse connects to edbrowse-ht and says
> "fetch this big http file and return it to me,
> don't just download it I want it in memory, so return it to me."
> edbrowse-ht pulls down a hundred meg file and sends it
> back to edbrowse over socket,
> but we need perfect fidelity here, we need the continuity
> and certainty of the stream.
> If we don't use tcp we'll have to reinvent most of it,
> so we may as well use tcp, at least for this instance
> and probably for most of our communications.

Not necesarily. I think you'd want to use temp files for something like that,
otherwise the IPC logic gets complicated.
> udp is fine for packet voice and such in that if you miss some packets you don't care,
> it's barely a click in the sound, but here we need all the bits in
> exactly the right order.

Also, packet loss over a local loopback connection shouldn't happen,
so that's not really an issue either.
From the work I've done with scalable IPC stuff in the past I'd go for a
combined approach of having udp command and response and then temp files for
large downloads. Sure we then have to read back into memory but that makes much
more sense to me than implementing TCP-based IPC in this case.
Also, for the case of most pages, this wouldn't be too much of an issue.

The alternative is a comms process which either has to do tcp multiplexing in a
single thread or has to be multi-threaded even before you get to the comms stuff.
That's going to be awkward to get right.

Cheers,
Adam.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

      reply	other threads:[~2015-12-26 15:40 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-23 15:09 Karl Dahlke
2015-12-23 18:45 ` Adam Thompson
2015-12-23 19:07   ` Karl Dahlke
2015-12-23 19:59   ` Chris Brannon
2015-12-23 20:44     ` Karl Dahlke
2015-12-24 11:19       ` Adam Thompson
2015-12-24 13:15         ` Karl Dahlke
2015-12-24 18:39           ` Adam Thompson
2015-12-25  2:29             ` Karl Dahlke
2015-12-25 23:18               ` Adam Thompson
2015-12-25 23:51                 ` Karl Dahlke
2015-12-26  9:11                   ` Adam Thompson
2015-12-26 13:36                     ` Karl Dahlke
2015-12-26 15:10                       ` Adam Thompson
2015-12-26 15:23                         ` Karl Dahlke
2015-12-26 15:40                           ` Adam Thompson [this message]

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=20151226154055.GD3144@hob.adamthompson.me.uk \
    --to=arthompson1990@gmail.com \
    --cc=edbrowse-dev@lists.the-brannons.com \
    --cc=eklhad@comcast.net \
    /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).