GraftJS / jschan

JavaScript port of libchan based around streams
MIT License
157 stars 9 forks source link

node-spdy #4

Closed pelger closed 10 years ago

pelger commented 10 years ago

Research and send a feedback email to this list about node-spdy

mcollina commented 10 years ago

I investigated how libchan uses SPDY for sending streams, and I'm pretty confident I can replicate that easily with node-spdy once we have a target API.

libchan uses SPDY stream identifiers to send nested channels, e.g. when the client receives a stream pushed stream from the server, it can now the parent request via the SPDY stream identifier. The only catch is that it requires some gymnastic to keep track of all those identifiers, just how libchan does. However, node-spdy does this for us for free, we just need to stick a reference to our message into the connection. Have a look at https://github.com/GraftJS/jschan/blob/master/test/spdy-demo.js#L35. So, we can have nested channels in node.js too!

I'm eager to have #6 defined, so I can start coding this :dart:.

AdrianRossouw commented 10 years ago

totally awesome!

I'm gonna riff on usage.md now then.

mcollina commented 10 years ago

libchan people are changing their interface to not rely on SPDY stream identifiers, but to pass libchan identifiers through headers. It's more complex than what I thought :(

https://github.com/docker/libchan/pull/38

AdrianRossouw commented 10 years ago

Have you asked on IRC? #libswarm on freenode.

It is possible that you can connect to a previous revision of the library? Have we got abstractions enough to handle the various types they talk about there?

mcollina commented 10 years ago

I would say they are planning to break backward-compatibility. I'll ask on IRC.

mcollina commented 10 years ago

Closing for the discussione we had, it's doable :).