{"action":"created","issue":{"url":"https://api.github.com/repos/hyperium/hyper/issues/395","labels_url":"https://api.github.com/repos/hyperium/hyper/issues/395/labels{/name}","comments_url":"https://api.github.com/repos/hyperium/hyper/issues/395/comments","events_url":"https://api.github.com/repos/hyperium/hyper/issues/395/events","html_url":"https://github.com/hyperium/hyper/issues/395","id":63990228,"number":395,"title":"Non-blocking/Evented I/O","user":{"login":"jnicholls","id":20395,"avatar_url":"https://avatars.githubusercontent.com/u/20395?v=3","gravatar_id":"","url":"https://api.github.com/users/jnicholls","html_url":"https://github.com/jnicholls","followers_url":"https://api.github.com/users/jnicholls/followers","following_url":"https://api.github.com/users/jnicholls/following{/other_user}","gists_url":"https://api.github.com/users/jnicholls/gists{/gist_id}","starred_url":"https://api.github.com/users/jnicholls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnicholls/subscriptions","organizations_url":"https://api.github.com/users/jnicholls/orgs","repos_url":"https://api.github.com/users/jnicholls/repos","events_url":"https://api.github.com/users/jnicholls/events{/privacy}","received_events_url":"https://api.github.com/users/jnicholls/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/hyperium/hyper/labels/in%20progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":{"login":"seanmonstar","id":51479,"avatar_url":"https://avatars.githubusercontent.com/u/51479?v=3","gravatar_id":"","url":"https://api.github.com/users/seanmonstar","html_url":"https://github.com/seanmonstar","followers_url":"https://api.github.com/users/seanmonstar/followers","following_url":"https://api.github.com/users/seanmonstar/following{/other_user}","gists_url":"https://api.github.com/users/seanmonstar/gists{/gist_id}","starred_url":"https://api.github.com/users/seanmonstar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seanmonstar/subscriptions","organizations_url":"https://api.github.com/users/seanmonstar/orgs","repos_url":"https://api.github.com/users/seanmonstar/repos","events_url":"https://api.github.com/users/seanmonstar/events{/privacy}","received_events_url":"https://api.github.com/users/seanmonstar/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/hyperium/hyper/milestones/1","html_url":"https://github.com/hyperium/hyper/milestones/1.0","labels_url":"https://api.github.com/repos/hyperium/hyper/milestones/1/labels","id":1085960,"number":1,"title":"1.0","description":"","creator":{"login":"seanmonstar","id":51479,"avatar_url":"https://avatars.githubusercontent.com/u/51479?v=3","gravatar_id":"","url":"https://api.github.com/users/seanmonstar","html_url":"https://github.com/seanmonstar","followers_url":"https://api.github.com/users/seanmonstar/followers","following_url":"https://api.github.com/users/seanmonstar/following{/other_user}","gists_url":"https://api.github.com/users/seanmonstar/gists{/gist_id}","starred_url":"https://api.github.com/users/seanmonstar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seanmonstar/subscriptions","organizations_url":"https://api.github.com/users/seanmonstar/orgs","repos_url":"https://api.github.com/users/seanmonstar/repos","events_url":"https://api.github.com/users/seanmonstar/events{/privacy}","received_events_url":"https://api.github.com/users/seanmonstar/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":2,"state":"open","created_at":"2015-04-27T18:39:18Z","updated_at":"2015-10-09T22:29:02Z","due_on":null,"closed_at":null},"comments":56,"created_at":"2015-03-24T13:06:54Z","updated_at":"2015-11-16T21:33:18Z","closed_at":null,"body":"Hyper would be far more powerful of a client & server if it was based on traditional event-oriented I/O, single-threaded or multi-threaded.  You should look into https://github.com/carllerche/mio or a wrapper around libuv or something of that sort.\r\n\r\nAnother option is to split hyper up into multiple crates, and refactor the client & server to abstract the HTTP protocol handling (reading & writing requests/responses onto a Stream) so that someone can use the client and/or server logic on top of their own sockets/streams that are polled in an event loop.  Think, libcurl's multi interface + libuv's uv_poll_t."},"comment":{"url":"https://api.github.com/repos/hyperium/hyper/issues/comments/157177315","html_url":"https://github.com/hyperium/hyper/issues/395#issuecomment-157177315","issue_url":"https://api.github.com/repos/hyperium/hyper/issues/395","id":157177315,"user":{"login":"arthurprs","id":715958,"avatar_url":"https://avatars.githubusercontent.com/u/715958?v=3","gravatar_id":"","url":"https://api.github.com/users/arthurprs","html_url":"https://github.com/arthurprs","followers_url":"https://api.github.com/users/arthurprs/followers","following_url":"https://api.github.com/users/arthurprs/following{/other_user}","gists_url":"https://api.github.com/users/arthurprs/gists{/gist_id}","starred_url":"https://api.github.com/users/arthurprs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arthurprs/subscriptions","organizations_url":"https://api.github.com/users/arthurprs/orgs","repos_url":"https://api.github.com/users/arthurprs/repos","events_url":"https://api.github.com/users/arthurprs/events{/privacy}","received_events_url":"https://api.github.com/users/arthurprs/received_events","type":"User","site_admin":false},"created_at":"2015-11-16T21:33:18Z","updated_at":"2015-11-16T21:33:18Z","body":"@tailhook I'll help with the second one them.\r\n\r\nAlso, I'm curious, what kind of performance do you get w/ Golang in the same machine?"}}