On 06/02/15 14:28, Alan Conway wrote:
On Fri, 2015-02-06 at 08:19 -0500, Rafael Schloming wrote:
A couple of questions/comments inline, but first off, any reason this
isn't on the list? (I don't mind, just curious.)
No good reason, including list now.

Extremely useful discussion, thanks! Taking it all on board.

New question: For dispatch I only care about the server side. JavaScript
is the only websocket client I know of and as per discussion below we
would actually need to *exclude* proton client-side websocket support
from the JS client, so maybe we don't need it at all. Are there use
cases for a websocket client transport?

Snipped the rest to save it getting out of hand for this response :-)


RE "Are there use cases for a websocket client transport? " yeah, the JavaScript client uses WebSockets ;-p but also Rob has a Java WebSocket client (qpid/java/amqp-1-0-client-websocket...).

To be fair I'd agree that allowing TCP *and* WebSocket inbound connections is the most obvious/compelling use case, so I'd be happy if the priority was there, but I'd be concerned of too narrow a focus - as I mentioned on some of my responses to Rafael there are a few cheeky API gotchas when considering allowing optional transports and for that reason they are worth considering.

I'm definitely considering the case for Node.js where an application might want to be able to establish either a TCP or a WebSocket based outbound connection, indeed at the moment only the latter is supported and I'd suggest that as Dispatch is a router it really needs to be capable of a wide range of transports.


As I said on my earlier ramble it *might* turn out to not be so awkward, for the server side the ws/emscripten stuff removes all the WebSockety bits and pushes up basically the raw AMQP octet stream, so I think the autodetect stuff in transport would then be oblivious of the fact that the JavaScript stuff had been over WS it would think it was just receiving off a TCP socket. Establishing a connection OTOH is, as I say,a bit dependent on some sort of API for saying TCP or WebSocket and I think that'd be useful - question does Proton support RDMA? I know qpidd/qpid::messaging does, so there's a use case beyond just WebSockets for that sort of API (and RCTP might be another worthwhile transport for AMQP).

FWIW I'm seriously considering expending some energy getting AMQP over WebRTC working, I reckon that'd be pretty cool going forward. So at some point I might like Dispatch to be able to establish a WebRTC connection to a browser - but lets tackle WebSockets before I get too carried away :-D #haveiscaredyouyet

Frase





Reply via email to