{"action":"created","issue":{"url":"https://api.github.com/repos/jbenet/go-ipfs/issues/478","labels_url":"https://api.github.com/repos/jbenet/go-ipfs/issues/478/labels{/name}","comments_url":"https://api.github.com/repos/jbenet/go-ipfs/issues/478/comments","events_url":"https://api.github.com/repos/jbenet/go-ipfs/issues/478/events","html_url":"https://github.com/jbenet/go-ipfs/pull/478","id":52983194,"number":478,"title":"Stream relaying","user":{"login":"jbenet","id":138401,"avatar_url":"https://avatars.githubusercontent.com/u/138401?v=3","gravatar_id":"","url":"https://api.github.com/users/jbenet","html_url":"https://github.com/jbenet","followers_url":"https://api.github.com/users/jbenet/followers","following_url":"https://api.github.com/users/jbenet/following{/other_user}","gists_url":"https://api.github.com/users/jbenet/gists{/gist_id}","starred_url":"https://api.github.com/users/jbenet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbenet/subscriptions","organizations_url":"https://api.github.com/users/jbenet/orgs","repos_url":"https://api.github.com/users/jbenet/repos","events_url":"https://api.github.com/users/jbenet/events{/privacy}","received_events_url":"https://api.github.com/users/jbenet/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/jbenet/go-ipfs/labels/in+progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":{"login":"jbenet","id":138401,"avatar_url":"https://avatars.githubusercontent.com/u/138401?v=3","gravatar_id":"","url":"https://api.github.com/users/jbenet","html_url":"https://github.com/jbenet","followers_url":"https://api.github.com/users/jbenet/followers","following_url":"https://api.github.com/users/jbenet/following{/other_user}","gists_url":"https://api.github.com/users/jbenet/gists{/gist_id}","starred_url":"https://api.github.com/users/jbenet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbenet/subscriptions","organizations_url":"https://api.github.com/users/jbenet/orgs","repos_url":"https://api.github.com/users/jbenet/repos","events_url":"https://api.github.com/users/jbenet/events{/privacy}","received_events_url":"https://api.github.com/users/jbenet/received_events","type":"User","site_admin":false},"milestone":null,"comments":5,"created_at":"2014-12-28T15:11:31Z","updated_at":"2015-01-04T01:29:15Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/jbenet/go-ipfs/pulls/478","html_url":"https://github.com/jbenet/go-ipfs/pull/478","diff_url":"https://github.com/jbenet/go-ipfs/pull/478.diff","patch_url":"https://github.com/jbenet/go-ipfs/pull/478.patch"},"body":"This PR introduces stream relaying. This is a precursor to NAT traversal.\nThe RelayService should some day affect things like bitswap ledgers, but\nfor now it'll just be used for assisting NAT traversal (and possibly DHT\nqueries).\n\nThis PR also moves the inet.Network implementation into its own package.\nMore thinking on this suggests that there should be a distinction\nbetween inet.Network, and some inet.NetworkBackend (or a 'peernet' pkg)\nwhich provides the actual {stream, connection, address, peer} manager\nimpls (swarm, mock, etc) but leaves all the Protocol/Mux/Service stuff\nto inet.Network."},"comment":{"url":"https://api.github.com/repos/jbenet/go-ipfs/issues/comments/68616922","html_url":"https://github.com/jbenet/go-ipfs/pull/478#issuecomment-68616922","issue_url":"https://api.github.com/repos/jbenet/go-ipfs/issues/478","id":68616922,"user":{"login":"jbenet","id":138401,"avatar_url":"https://avatars.githubusercontent.com/u/138401?v=3","gravatar_id":"","url":"https://api.github.com/users/jbenet","html_url":"https://github.com/jbenet","followers_url":"https://api.github.com/users/jbenet/followers","following_url":"https://api.github.com/users/jbenet/following{/other_user}","gists_url":"https://api.github.com/users/jbenet/gists{/gist_id}","starred_url":"https://api.github.com/users/jbenet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbenet/subscriptions","organizations_url":"https://api.github.com/users/jbenet/orgs","repos_url":"https://api.github.com/users/jbenet/repos","events_url":"https://api.github.com/users/jbenet/events{/privacy}","received_events_url":"https://api.github.com/users/jbenet/received_events","type":"User","site_admin":false},"created_at":"2015-01-04T01:29:15Z","updated_at":"2015-01-04T01:29:15Z","body":"@briantigerchow @whyrusleeping do either of you want to take a look at this? else I'll merge."}}