[ https://issues.apache.org/jira/browse/PROTON-881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14609945#comment-14609945 ]
ASF GitHub Bot commented on PROTON-881: --------------------------------------- GitHub user prestona opened a pull request: https://github.com/apache/qpid-proton/pull/40 PROTON-881: Make connect a non-blocking operation Previously connecting was a blocking operation which meant that if the server being connected to took a long time to accept the connection this blocked all other work in an instance of the Reactor. This commit makes connect a non-blocking operation, allowing the reactor to continue processing other work while the connection is established (or not). Unfortunately, I've not found a satisfactory way to test this behavior in the test suite - because Java never blocks during connect if it is using the loopback adapter. Instead, to test the non-blocking connect code path, I had to configure firewall rules to drop all packets sent to a particular port. You can merge this pull request into a Git repository by running: $ git pull https://github.com/prestona/qpid-proton reactor Alternatively you can review and apply these changes as the patch at: https://github.com/apache/qpid-proton/pull/40.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 #40 ---- commit 4f2bac8ba136866c55e136fd6a71588bca7c179d Author: Adrian Preston <prest...@uk.ibm.com> Date: 2015-06-26T22:58:21Z PROTON-881: Make connect a non-blocking operation Previously connecting was a blocking operation which meant that if the server being connected to took a long time to accept the connection this blocked all other work in an instance of the Reactor. This commit makes connect a non-blocking operation, allowing the reactor to continue processing other work while the connection is established (or not). Unfortunately, I've not found a satisfactory way to test this behavior in the test suite - because Java never blocks during connect if it is using the loopback adapter. Instead, to test the non-blocking connect code path, I had to configure firewall rules to drop all packets sent to a particular port. commit f06a1bb3f931531bee6891fa4036fdd2695039cc Author: Adrian Preston <prest...@uk.ibm.com> Date: 2015-06-27T19:48:37Z PROTON-881: Tidy up TODOs in proton-j reactor code About half the TODOs were me being overly paranoid. The rest generally required some tidy-up. One decision I made was to swallow IOExceptions thrown from closing something - because there was no other cleanup action that could be taken - and rethrowing as an unchecked exception seemed a little heavy-handed. commit 19d23dfbc8178e4dffc2173f00a4c9a526c33601 Author: Adrian Preston <prest...@uk.ibm.com> Date: 2015-06-30T23:30:53Z PROTON-881: Tidy up and doc reactor interfaces Tidy up the Java interfaces for the proton-j reactor by removing a few unnecessary setters. Document the interfaces using Javadoc. commit a29254752a08285192aae878db9986f4af569d2c Author: Adrian Preston <prest...@uk.ibm.com> Date: 2015-07-01T00:22:55Z PROTON-881: Tidy up proton-j reactor examples Tidy up comments and more closely mirror the Python examples. ---- > Proton-j reactor implementation > ------------------------------- > > Key: PROTON-881 > URL: https://issues.apache.org/jira/browse/PROTON-881 > Project: Qpid Proton > Issue Type: Improvement > Components: proton-j > Affects Versions: 0.9 > Reporter: Adrian Preston > Priority: Minor > > To keep the proton-j codebase consistent with proton-c - there should be a > native Java port of the reactor. -- This message was sent by Atlassian JIRA (v6.3.4#6332)