> On Nov 15, 2014, at 7:48 PM, Martin Sustrik <sustrik@xxxxxxxxxx> wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 15/11/14 23:24, Garrett D'Amore wrote: > >> Well, I’m assuming that you need to use either different TCP port >> numbers (or addresses), or use a two tier hand off, if you want to >> work with separate processes. (Imagine a gateway process that >> does the accept, a little bit of logic, and then forks the actual >> actual application, choosing to exec() the appropriate app based on >> the URI Path element. > > I was rather thinking of in the terms of the gateway sending the file > descriptors to applications via AF_UNIX and SCM_RIGHTS. That’s an equally valid approach, I think. :-) Indeed, I had similar thoughts as well. There are lots of way to handoff from a gateway process to some other nanomsg service; I don’t necessarily think that this handoff will occur in the libnanomsg API — or at least not in what we have today; it would use some kind of new API or a totally separate implementation, I think. In the meantime, the critical things to think about: 1.) What do service addresses look like… URIs path components work fine for me, but we should have a spec for this if we are going to have it mean anything. And even if not, we should say so. 2.) I remain opposed to the idea that we would encode string protocol names in the websocket handshake — as much as possible the transport layer should have no knowledge of the actual protocols. Keep the layer separations clean. 3.) As much as possible, once the connection is established, I think websockets should look and act like established TCP streams from the perspective of the protocol. I’d use the same framing and early negotiation (including negotiation of the SP protocol and version) using the same binary packets. - Garrett > > Martin > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.11 (GNU/Linux) > > iQEcBAEBAgAGBQJUaB55AAoJENTpVjxCNN9YslcH/0PtqV5WhWnbwLzsxoH7rHZd > Ee3rfSqSjxRRtev5IXqhwTxBoerp6OztMkQQvYNZSZ1WQYR89YdKnueAYXC3NeCd > Ea/q2GDhu8en1R6dbCz1Gi8/W/XpdiZ9glj7zLbucEtwavrkFHi6NmVStlYvvmxb > DtoJW41z67rt+aN6yq+tPA7N3MrQmt5S6U9cwR56T+gro2sdJRZMcXR16PoHx47j > GeBhCEahaMKHBVc4/u68+HxKkkNuDAEVDphw0uGVhNeTOY89pA4rXTodlBccE6BN > 2Cyx+iBAqctQR8g39adrBy8/edmpfEmr1NsoC69BHzEk+NH5WX+WcNUWTDSJ7Iw= > =kKUj > -----END PGP SIGNATURE----- >