{"action":"opened","issue":{"url":"https://api.github.com/repos/typhoeus/typhoeus/issues/592","repository_url":"https://api.github.com/repos/typhoeus/typhoeus","labels_url":"https://api.github.com/repos/typhoeus/typhoeus/issues/592/labels{/name}","comments_url":"https://api.github.com/repos/typhoeus/typhoeus/issues/592/comments","events_url":"https://api.github.com/repos/typhoeus/typhoeus/issues/592/events","html_url":"https://github.com/typhoeus/typhoeus/issues/592","id":299914103,"number":592,"title":"Pipelining behaviour question","user":{"login":"guilherme","id":19025,"avatar_url":"https://avatars1.githubusercontent.com/u/19025?v=4","gravatar_id":"","url":"https://api.github.com/users/guilherme","html_url":"https://github.com/guilherme","followers_url":"https://api.github.com/users/guilherme/followers","following_url":"https://api.github.com/users/guilherme/following{/other_user}","gists_url":"https://api.github.com/users/guilherme/gists{/gist_id}","starred_url":"https://api.github.com/users/guilherme/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guilherme/subscriptions","organizations_url":"https://api.github.com/users/guilherme/orgs","repos_url":"https://api.github.com/users/guilherme/repos","events_url":"https://api.github.com/users/guilherme/events{/privacy}","received_events_url":"https://api.github.com/users/guilherme/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-24T05:34:20Z","updated_at":"2018-02-24T05:34:20Z","closed_at":null,"author_association":"NONE","body":"Hello,\r\n\r\nI am trying to understand how does the pipelining behavior works. My expectation was that it would create one connection for every 5 requests (due to https://curl.haxx.se/libcurl/c/CURLMOPT_MAX_PIPELINE_LENGTH.html) when using this option.\r\nBut then I run a tcp dump to check what was going on and it was one connection for every request.\r\n\r\nHow is the pipelining behavior supposed to work ? \r\n\r\n```ruby\r\ndef request(pipelining = true)\r\n  hydra = Typhoeus::Hydra.new(pipelining: pipelining)\r\n  10.times do\r\n    url = 'http://google.com'\r\n    request = Typhoeus::Request.new(url, params: { q: \"test\" })\r\n    hydra.queue(request)\r\n  end\r\n  hydra.run\r\nend\r\nrequest(true)\r\n```\r\n\r\n# tcpdump \r\n```\r\nroot@e09bf0b135b8:/app# tcpdump -i eth0 -w tcpdump-google.out -s 1520 port 80\r\ntcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 1520 bytes\r\n^C70 packets captured\r\n70 packets received by filter\r\n0 packets dropped by kernel\r\n\r\nroot@e09bf0b135b8:/app# tcptrace  tcpdump-google.out \r\n1 arg remaining, starting with 'tcpdump-google.out'\r\nOstermann's tcptrace -- version 6.6.7 -- Thu Nov  4, 2004\r\n\r\n70 packets seen, 70 TCP packets traced\r\nelapsed wallclock time: 0:00:00.005269, 13285 pkts/sec analyzed\r\ntrace file elapsed time: 0:00:00.203851\r\nTCP connection info:\r\n  1: e09bf0b135b8:54578 - sin01s16-in-f14.1e100.net:80 (a2b)    4>    3<\r\n  2: e09bf0b135b8:54580 - sin01s16-in-f14.1e100.net:80 (c2d)    4>    3<\r\n  3: e09bf0b135b8:54582 - sin01s16-in-f14.1e100.net:80 (e2f)    4>    3<\r\n  4: e09bf0b135b8:54584 - sin01s16-in-f14.1e100.net:80 (g2h)    4>    3<\r\n  5: e09bf0b135b8:54586 - sin01s16-in-f14.1e100.net:80 (i2j)    4>    3<\r\n  6: e09bf0b135b8:54588 - sin01s16-in-f14.1e100.net:80 (k2l)    4>    3<\r\n  7: e09bf0b135b8:54590 - sin01s16-in-f14.1e100.net:80 (m2n)    4>    3<\r\n  8: e09bf0b135b8:54592 - sin01s16-in-f14.1e100.net:80 (o2p)    4>    3<\r\n  9: e09bf0b135b8:54594 - sin01s16-in-f14.1e100.net:80 (q2r)    4>    3<\r\n 10: e09bf0b135b8:54596 - sin01s16-in-f14.1e100.net:80 (s2t)    4>    3<\r\n```"}}
{"actor":{"display_login":"guilherme"}}