From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-x229.google.com (mail-wg0-x229.google.com [IPv6:2a00:1450:400c:c00::229]) by hurricane.the-brannons.com (Postfix) with ESMTPS id 250FF786FA for ; Tue, 9 Dec 2014 10:24:56 -0800 (PST) Received: by mail-wg0-f41.google.com with SMTP id y19so1598513wgg.14 for ; Tue, 09 Dec 2014 10:23:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=NKjneTrqwlOM5IxsVXwd8B7icOTYJXs1+hvWMdo47hs=; b=IuanoOZuZxbw7ORvamnB/Sp9ClNlplGlOMQrp6PtKg9yHIHaOeooTLiGnolu+YoEJf KKkYCLMfXZx3BA+34o3QlEPWtBMPW7VVUnTRW5tMsSPDbe3GwAp8ewMEgVL2Rg6gVD6s F39/YWQcpZQFsc4ZcjcvMr9bw4Npg/2Nay0kuu7HnvicWM+dYoFhT+NGdKFPFUqriFpG alH/7zEk+IDdBIPFIKDIUBeMDq76zAtjjSxGj9crRMU5LkUswVNpuCtKNLfmFHvhny5o ahkDpyvR0tZOKoroR00MV976r4FoxRatHEtVLyiD8rQGHZM7pVSwf493jGusN1q9bnps SDcg== X-Received: by 10.180.81.70 with SMTP id y6mr6699250wix.6.1418149387541; Tue, 09 Dec 2014 10:23:07 -0800 (PST) Received: from toaster.adamthompson.me.uk (toaster.adamthompson.me.uk. [2001:8b0:1142:9042::2]) by mx.google.com with ESMTPSA id o2sm2726088wja.45.2014.12.09.10.23.06 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 09 Dec 2014 10:23:06 -0800 (PST) Date: Tue, 9 Dec 2014 18:23:04 +0000 From: Adam Thompson To: Karl Dahlke Message-ID: <20141209182304.GR14122@toaster.adamthompson.me.uk> References: <20141109091302.eklhad@comcast.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="D8QxnvyRlKGQJxl7" Content-Disposition: inline In-Reply-To: <20141109091302.eklhad@comcast.net> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: Edbrowse-dev@lists.the-brannons.com Subject: Re: [Edbrowse-dev] interprocess messages X-BeenThere: edbrowse-dev@lists.the-brannons.com X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Edbrowse Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Dec 2014 18:24:56 -0000 --D8QxnvyRlKGQJxl7 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Dec 09, 2014 at 09:13:02AM -0500, Karl Dahlke wrote: > > Pipes, sockets or message queues would be the three I'd think of here. >=20 > Right. Probably pipes cause it's easy, but it mostly doesn't matter > and could be easily changed one to another. Right, when I did this last time I landed on message queues eventually sinc= e the interface was a bit nicer to use (you put a message in, you get a mes= sage out, no need to worry about reading the correct amount etc), but I don= 't really mind any of the three. >=20 > > how would this play with blocking calls, >=20 > All three of these, and any others you might think of, > block by default, and can also be set nonblocking, > but I've learned over the years nonblocking is a bad idea. > Never make a nonblocking call. > My jupiter speech adapter for example - reads index markers > coming back from the synthesizer asynchronously, and your keyboard comman= ds, > perhaps telling speech to shut up, and maybe speech > commands coming from other processes through the fifo /etc/jupiter.fifo. > Three asynchronous streams to monitor simultaneously, > and the right way to do this is by calling select. > In other words, if a primary process is monitoring many asynchronous > events from other processes / streams, select() is your friend. > It does exactly what you want. > This is deep in the kernel, and thank god they put it there, > because you just can't simulate it through any kind of user space program= ming. > Anyways, I believe we will be able to migrate to various asynchronous eve= nts, > ajax, download to disk in background, etc etc, when the time comes. Agreed (though on a scalability note, as we're on linux anyway, I'd go for epoll over select, but select is more portable, and with 3 descriptors there's no noticeable, or probably measurable, performance difference). > I will see if I can bang this first step out, > partly because I haven't programmed in about a year, > and I find that I really miss it. > When you're not programming for your boss / professor, it really is fun. > I estimate a couple of weeks. Sounds good. > Meantime you (plural) might look at v8 and just evaluate. > I still haven't gotten a hello world program to compile, > and honestly that concerns me. Yeah, that does sound rather concerning. When I've got a bit of time (this weekend may be) I'll have a look at the D= ebian packaged version and see how far I get. I'm also investigating if there are any other js engines which are in a suitable state for use in a web browser. I've got no solid candidates yet but I've got a couple of ideas. Cheers, Adam. --D8QxnvyRlKGQJxl7 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJUhz4HAAoJELZ22lNQBzHOunIH/RKiWQp+7Cbmn83zme9/8BlX TH2YzDk6aKuoPdUJo29jAV33hYMz7IY2Y8HqyLCJ9ufhip3/nESNMoMRRZ+CaOEH cZD363h8y0yVc6OrPFQ9JVy2HbRbAwmkyPdy/Jfo+DTiLdkCUm4i2TPmPkF0eMvo 59A574lhBo71m1g3I1pxRSn4m6XKdlzzY3kuWzVcmAL/bMsRf6KlAtO72bC55CRT WWtP6Ny17ohhINkLiHmeYqUEAR8JPHfoewcJ/RINwEtN9ir5sRDenYjT0imbL0z2 YykPd+b3P1i4TGCXx24FyoJIilBm2SJmrRyH4WFTjsfBFx1RBPl6vc/SXPoEBCg= =CaGx -----END PGP SIGNATURE----- --D8QxnvyRlKGQJxl7--