[ https://issues.apache.org/jira/browse/HTTPCORE-484?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16531076#comment-16531076 ]
ASF GitHub Bot commented on HTTPCORE-484: ----------------------------------------- GitHub user xiaohu-zhang opened a pull request: https://github.com/apache/httpcomponents-core/pull/66 Use TimeWheel algorithm instead of loop when check timeout HashedWheelTimer and related util classes are copied from netty framework with tiny changes. use TimeWheel algorithm to deal with both connect time out and read time out. related with HTTPCORE-484 You can merge this pull request into a Git repository by running: $ git pull https://github.com/xiaohu-zhang/httpcomponents-core TimeWheel Alternatively you can review and apply these changes as the patch at: https://github.com/apache/httpcomponents-core/pull/66.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #66 ---- commit 4d7a18420cd66dd17387b845b324b241281d7fcc Author: xiaohu-zhang <silver9886@...> Date: 2017-08-29T14:11:24Z setting time limit on processPending methods setting time limit to avoid the SingleCoreIOReactor's time be exhausted and then block the remaining work to do. commit b6043b3aa94c65b23bb39804342a7826dc236eae Author: xiaohu-zhang <silver9886@...> Date: 2017-08-30T03:27:04Z Merge branch 'master' of https://github.com/apache/httpcomponents-core/commits/master commit 0f58c65f06f0defd5c03b8e21c76e5ce533796e5 Author: xiaohu-zhang <silver9886@...> Date: 2017-09-04T11:02:50Z Merge branch 'master' of https://github.com/apache/httpcomponents-core # Conflicts: # httpcore5/src/main/java/org/apache/hc/core5/reactor/SingleCoreIOReactor.java commit 1cd22c701259a61207d538d0881a04484b9ca405 Author: xiaohu-zhang <silver9886@...> Date: 2017-09-06T13:33:35Z Merge branch 'master' of https://github.com/apache/httpcomponents-core commit 9f28dcfa49979a6f0c0bf6312749f3daca8c8bd3 Author: Oleg Kalnichevski <olegk@...> Date: 2017-09-06T14:42:50Z HTTPCORE-489: tweak SSL protocol mismatch test case to work around the problem with intermittent failures on Windows commit 3b0bbac649499e2d1ecb1b089e29af72a93f37ca Author: Oleg Kalnichevski <olegk@...> Date: 2017-09-27T15:55:24Z Drop oraclejdk7 from the Travis-CI build commit 3eae2ab92d9aed582f2346fe0de55b1a6080fd41 Author: Oleg Kalnichevski <olegk@...> Date: 2017-09-28T20:31:07Z Fixed header logging in non-blocking client and server protocol handlers commit a0c624056b2870c9af791beb5b4faa14cb392058 Author: Oleg Kalnichevski <olegk@...> Date: 2017-09-29T14:42:34Z Make basic string, byte array and file entity producers repeatable commit d07a2a78466e3ccf2e4054c4306d55c0e3d896a8 Author: Gary Gregory <garydgregory@...> Date: 2017-10-05T17:48:49Z [HTTPCORE-494] Add image constants to ContentType. commit e81d893f36f4a9231b74d8a6feb620beb316b340 Author: Gary Gregory <garydgregory@...> Date: 2017-10-05T18:06:53Z [HTTPCORE-494] Add image constants to ContentType. commit f6906ed18e56d5163dd2a2dfa0f9669a834aa91d Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-16T14:06:13Z Fixed handling of relative request paths in BasicHttpRequest commit ba88cc43d6c1062a611cba3d65b49ff95a87adcd Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-20T09:35:57Z Silence doclint warning about missing @param and @throws commit d839711bd93871cb980cc7808dc2a9e899e5f867 Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-20T11:36:42Z HTTPCORE-495: add context details to ParseException commit 7cf31a110768f2d8cdac0cfbcdd8cf619cc59598 Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-20T12:30:04Z Upgraded httpcomponents-parent to version 9 commit c1c391c4c19cb4601904f25482cb7f0b4e0489b1 Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-20T14:39:53Z Compatibility with Java 9 (tested with Oracle JDK 9.0.1) commit d9ac44e9712b251567f4191b853f66f193a2164d Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-20T14:45:51Z Added Oracle JDK 9 to Travis CI config commit ced6ad940893a99d90e4002c68de86be89baa3cb Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-20T14:51:47Z Revert "Silence doclint warning about missing @param and @throws" This reverts commit e948fb1cb4090264a7bb078945d63fd31c5793b5. commit 0ba626fa834748b8d96712a4c3751bdbfbac20b4 Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-22T12:05:48Z Default I/O reactors to allow null IOReactorConfig parameter commit 69b30da7cb7d20d370c68dba1a2983c2f37c9e19 Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-22T12:17:41Z Renamed HTTP/2 TLS example (no functional changes) commit 41d7b1ad194dec748644c08713be616049a19f07 Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-24T11:31:01Z Added functional Transformation and Resolver interfaces commit f779f007018cf9596cb9e479b5f14a344e774676 Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-24T12:01:03Z Moved last read / write even time tracking from the I/O reactor to I/O sessions commit d35a76f4c729cb0dc8ce7b4614773e88f231fd0f Author: aleh_struneuski <aleh_struneuski@...> Date: 2017-10-25T10:26:15Z HTTPCLIENT-1876: Improve the buildString() method in URIBuilder commit e8d41ba68e7895596220060c69c65ac462e30600 Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-25T11:19:51Z Added default HttpHost to InetSocketAddress resolver commit 5370795ba3bc6dc063edcc0007cdc12853a0837a Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-27T12:56:05Z Upgraded HC Parent to version 10 commit 31820135474e9a4f61366650f5cdda7f93f7c483 Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-27T13:09:33Z Fixed style check violations (no functional changes) commit 3cb0c3b099a684440b6da799cd07b6e136fd2ec6 Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-28T11:02:25Z Shared I/O session and HTTP/2 connection pool implementations commit f7e1f40fd0eadcf6dd23876b2b9db8fe32009354 Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-31T08:44:40Z Moved remote setting ack check in HTTP/2 stream multiplexer output code commit 13b5fdeace3d341bef3824572657fe38f75c95d6 Author: Oleg Kalnichevski <olegk@...> Date: 2017-10-31T09:41:54Z HTTP/2 multiplexing requester commit 5e6b9849c212eb6526e7771af5f2dbc4fef4ec8e Author: Oleg Kalnichevski <olegk@...> Date: 2017-11-01T13:54:43Z Updated repository details and references to implemented RFCs in DOAP commit 0a6117521857fafd55ae87e27f0e05a81744d38c Author: Oleg Kalnichevski <olegk@...> Date: 2017-11-01T15:35:07Z Updated release notes for HttpCore 5.0-beta1 release ---- > check timeout could use TimeWheel algorithm > ------------------------------------------- > > Key: HTTPCORE-484 > URL: https://issues.apache.org/jira/browse/HTTPCORE-484 > Project: HttpComponents HttpCore > Issue Type: Improvement > Components: HttpCore NIO > Affects Versions: 4.4.6 > Reporter: silver9886 > Priority: Major > Fix For: 5.0 > > > check time out every this.selectTimeout,and had to iterator all the > SelectionKeys. > it is not efficient nor accurate when their is a lot of SelectionKeys. > I suggest use the TimeWheel algorithm when check the channel time out just > as netty do. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org