{"action":"created","issue":{"url":"https://api.github.com/repos/indutny/spdy-transport/issues/6","labels_url":"https://api.github.com/repos/indutny/spdy-transport/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/indutny/spdy-transport/issues/6/comments","events_url":"https://api.github.com/repos/indutny/spdy-transport/issues/6/events","html_url":"https://github.com/indutny/spdy-transport/issues/6","id":93410978,"number":6,"title":"multi streams aka push streams","user":{"login":"diasdavid","id":1211152,"avatar_url":"https://avatars.githubusercontent.com/u/1211152?v=3","gravatar_id":"","url":"https://api.github.com/users/diasdavid","html_url":"https://github.com/diasdavid","followers_url":"https://api.github.com/users/diasdavid/followers","following_url":"https://api.github.com/users/diasdavid/following{/other_user}","gists_url":"https://api.github.com/users/diasdavid/gists{/gist_id}","starred_url":"https://api.github.com/users/diasdavid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diasdavid/subscriptions","organizations_url":"https://api.github.com/users/diasdavid/orgs","repos_url":"https://api.github.com/users/diasdavid/repos","events_url":"https://api.github.com/users/diasdavid/events{/privacy}","received_events_url":"https://api.github.com/users/diasdavid/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2015-07-07T01:00:35Z","updated_at":"2015-07-07T14:59:28Z","closed_at":null,"body":"I need some clarifications on the push streams API. Mainly, why is the stream object the interface to open more streams and not the client/server objects themselves?\r\n\r\ne g\r\n- 1 server: https://github.com/indutny/spdy-transport/blob/master/test/both/transport/push-test.js#L38-L47\r\n- 2 client: https://github.com/indutny/spdy-transport/blob/master/test/both/transport/push-test.js#L52-L70\r\n\r\nDoes that mean that every 2nd or later stream is always a child to the first stream opened? Can't streams between a client and a server live in parallel? \r\n\r\nFor example, the go impl offers a interface on the Connection interface to open 1-n streams without having to create nesting"},"comment":{"url":"https://api.github.com/repos/indutny/spdy-transport/issues/comments/119229710","html_url":"https://github.com/indutny/spdy-transport/issues/6#issuecomment-119229710","issue_url":"https://api.github.com/repos/indutny/spdy-transport/issues/6","id":119229710,"user":{"login":"igrigorik","id":10652,"avatar_url":"https://avatars.githubusercontent.com/u/10652?v=3","gravatar_id":"","url":"https://api.github.com/users/igrigorik","html_url":"https://github.com/igrigorik","followers_url":"https://api.github.com/users/igrigorik/followers","following_url":"https://api.github.com/users/igrigorik/following{/other_user}","gists_url":"https://api.github.com/users/igrigorik/gists{/gist_id}","starred_url":"https://api.github.com/users/igrigorik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igrigorik/subscriptions","organizations_url":"https://api.github.com/users/igrigorik/orgs","repos_url":"https://api.github.com/users/igrigorik/repos","events_url":"https://api.github.com/users/igrigorik/events{/privacy}","received_events_url":"https://api.github.com/users/igrigorik/received_events","type":"User","site_admin":false},"created_at":"2015-07-07T14:59:28Z","updated_at":"2015-07-07T14:59:28Z","body":"> You are totally right, PUSH streams depend on other stream being open. What I want to be able to do, is after opening the socket between the two agents, to be able to open new streams both ways. To do this from the client side, we have connection.request, which I was hoping that it would also work from the server side (or through some other call).\r\n\r\n- The client can send new requests at any time without any restrictions. \r\n- The server requires an 'open parent stream' (a stream previously opened by the client and which is not yet closed) against which the push would happen, see: https://httpwg.github.io/specs/rfc7540.html#StreamStatesFigure"}}