{"action":"created","issue":{"url":"https://api.github.com/repos/hyperium/hyper/issues/789","repository_url":"https://api.github.com/repos/hyperium/hyper","labels_url":"https://api.github.com/repos/hyperium/hyper/issues/789/labels{/name}","comments_url":"https://api.github.com/repos/hyperium/hyper/issues/789/comments","events_url":"https://api.github.com/repos/hyperium/hyper/issues/789/events","html_url":"https://github.com/hyperium/hyper/issues/789","id":154396317,"number":789,"title":"how to support pipeline in async mio.","user":{"login":"siddontang","id":1080370,"avatar_url":"https://avatars.githubusercontent.com/u/1080370?v=3","gravatar_id":"","url":"https://api.github.com/users/siddontang","html_url":"https://github.com/siddontang","followers_url":"https://api.github.com/users/siddontang/followers","following_url":"https://api.github.com/users/siddontang/following{/other_user}","gists_url":"https://api.github.com/users/siddontang/gists{/gist_id}","starred_url":"https://api.github.com/users/siddontang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/siddontang/subscriptions","organizations_url":"https://api.github.com/users/siddontang/orgs","repos_url":"https://api.github.com/users/siddontang/repos","events_url":"https://api.github.com/users/siddontang/events{/privacy}","received_events_url":"https://api.github.com/users/siddontang/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-05-12T04:48:27Z","updated_at":"2016-05-12T18:09:45Z","closed_at":null,"body":"Hi @seanmonstar \r\n\r\nI know that now async client supports connection pool, the flow like:\r\n\r\n1. get connection \r\n2. send request header (on_request)\r\n3. send request body (on_request_writable)\r\n4. receive response header (on_response)\r\n5. receive response body (on_response_readable)\r\n6. put the connection to pool for later reuse. \r\n\r\nI try to support pipeline, so after step 3, I return Next::read_and_write(), and think the handle can call step 2 again directly, but failed.\r\nThen I try to return Next::write(), after step 5, but to my surprised, the handle call step 3 directly. \r\n\r\nAfter some tries, I think that now async hyper doesn't support pipeline, am I right?  Or later HTTP/2.0 can support it? \r\n\r\n"},"comment":{"url":"https://api.github.com/repos/hyperium/hyper/issues/comments/218839378","html_url":"https://github.com/hyperium/hyper/issues/789#issuecomment-218839378","issue_url":"https://api.github.com/repos/hyperium/hyper/issues/789","id":218839378,"user":{"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},"created_at":"2016-05-12T18:09:45Z","updated_at":"2016-05-12T18:09:45Z","body":"The Client doesn't yet pool keep-alive connections.\r\n\r\nAs for pipelining, I don't think I'll be trying to add support for it, because it's complicated, servers don't all support it well (hence most browsers don't use it), and HTTP 2 does it far better. I'd wait for HTTP 2 support."}}