[
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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)