[
https://issues.apache.org/jira/browse/PROTON-877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14531789#comment-14531789
]
ASF GitHub Bot commented on PROTON-877:
---------------------------------------
GitHub user prestona opened a pull request:
https://github.com/apache/qpid-proton/pull/30
Reactor
This is an initial implementation of a proton-j version of the reactor. It
comes with samples, unit tests and interoperation tests. It should be good
enough to "kick the tyres" but requires further test cases, code cleanup and
Javadoc. For the most part, the code is additive to the proton-j codebase.
Currently the interops test requires Rafael's patch, attached to
PROTON-877, to complete successfully.
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/30.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 #30
----
commit e0187017456a4df58df2f1d04b1941d99eacbe10
Author: Adrian Preston <[email protected]>
Date: 2015-04-17T13:33:11Z
PROTON-881: Initial commit of proton-j reactor implementation
commit 739005e7ca49b0e85873406ea4a6b9392252a1fe
Author: Adrian Preston <[email protected]>
Date: 2015-04-17T14:34:53Z
PROTON-881: Write an Echo example and get it working
commit 88df5e7490183e01dfc8c63d2cfe3123286e604b
Author: Adrian Preston <[email protected]>
Date: 2015-04-17T16:55:27Z
PROTON-881: Add a Cat example.
commit cd09de66362580f0c5ceab464d71c7ad4300b517
Author: Adrian Preston <[email protected]>
Date: 2015-04-21T15:23:12Z
PROTON-881: Add a Send example, and supporting changes in the reactor.
commit 0ac98e76be51fbd890613518541364301b191cc2
Author: Adrian Preston <[email protected]>
Date: 2015-04-22T20:35:36Z
PROTON-881: Add Recv sample and required code changes / additions to the
reactor
commit b6e18b5a35da5865fe0ae5fd9e161a04170e9750
Author: Adrian Preston <[email protected]>
Date: 2015-04-29T22:57:47Z
PROTON-881: Rough first pass at a proton-j -> proton-c interop. test.
This adds a Python test case which starts both a Python (proton-c)
reactor and also spawns a JVM running a (proton-j) reactor. The
expected outcome is that the proton-j reactor is able to send a
message to the proton-c reactor.
Right now, there are a lot of rough edges on both the Pyton and
Java sides of this test case.
commit 2e6f5cdd1754b266e81afbc49ae4333a75287d57
Author: Adrian Preston <[email protected]>
Date: 2015-04-30T12:58:28Z
PROTON-881: Tidy up proton-j to proton-c reactor interop tests
commit 7faa7e2322c4782b9acc173194dc8bb1887a5a89
Author: Adrian Preston <[email protected]>
Date: 2015-04-30T13:51:46Z
PROTON-881: Only try interoperation tests with proton-j if proton-j has
been built!
commit 1eb41f603b0a4c5da9c686af1369837e7c6f2184
Author: Adrian Preston <[email protected]>
Date: 2015-05-01T14:36:00Z
PROTON-881: Add reactor interop tests that send messages from proton-c to
proton-j
commit 51529f675a11f49089e4a50a6bbced3955c26d63
Author: Adrian Preston <[email protected]>
Date: 2015-05-01T14:55:07Z
PROTON-881: Tidy up Selectable to remove bits of a c style record
implementation
commit 5748bb9880432bab64c42d34f4d7277163077427
Author: Adrian Preston <[email protected]>
Date: 2015-05-02T21:30:40Z
PROTON-881: Add error handling for "accept socket connection" path through
Acceptor
Adds error handling for various problems that can occur when accepting
a connection (to a listening socket). Also adds unittests that cover
these cases.
commit e9d4a78d294f08e7eb1bd7a3f28bd3f97ce6b9df
Author: Adrian Preston <[email protected]>
Date: 2015-05-04T20:01:19Z
PROTON-881: Add reactor unit tests based on those in
proton-c/src/tests/reactor.c
commit d6c4ba7bb18d3b8ce02a8dcd52c0f1e569694bb7
Author: Adrian Preston <[email protected]>
Date: 2015-05-04T20:57:53Z
PROTON-881: Add code to release resources (e.g. sockets, selectors, etc.)
The proton-j codebase does not, generally, implement cleanup logic in
the same way as proton-c (explicit reference counting) and for some
resources (such as sockets, selectors, etc.) cannot always way for
garbage collection to finalize objects. This commit adds a 'free'
method to a number of classes. Calling this closes any Java resources
held by the class. The reactor also has a 'free' method, which frees
both the reactor and any children that the reactor has.
commit 46b9d848999e993f238b37c9a0598035ccd64b27
Author: Adrian Preston <[email protected]>
Date: 2015-05-07T00:21:41Z
PROTON-881: tidy up comments and TODO's
Remove TODO's if they were already done, downgrade some TODO's to comments
(if they were simply observations), and remove some comments that consisted
of proton-c code - pasted in as a reference.
----
> proton-c sasl client hangs on server pipeline
> ---------------------------------------------
>
> Key: PROTON-877
> URL: https://issues.apache.org/jira/browse/PROTON-877
> Project: Qpid Proton
> Issue Type: Bug
> Components: proton-c
> Reporter: Rafael H. Schloming
> Assignee: Andrew Stitcher
> Fix For: 0.10
>
> Attachments: pipeline-workaround.patch, tests.patch
>
>
> [rhs@localhost build]$ ~/proton/examples/python/reactor/send.py
> [0x1d350c0]: -> SASL
> [0x1d350c0]: <- SASL
> [0x1d350c0]:0 <- @sasl-mechanisms(64)
> [sasl-server-mechanisms=@PN_SYMBOL[:ANONYMOUS]]
> [0x1d350c0]:0 <- @sasl-outcome(68) [code=0]
> [0x1d350c0]: -> AMQP
> [0x1d350c0]:0 -> @open(16) [container-id="", hostname="localhost"]
> [0x1d350c0]:0 -> @begin(17) [next-outgoing-id=0, incoming-window=2147483647,
> outgoing-window=0]
> [0x1d350c0]:0 -> @attach(18) [name="sender", handle=0, role=false,
> snd-settle-mode=2, rcv-settle-mode=0, source=@source(40) [durable=0,
> timeout=0, dynamic=false], target=@target(41) [durable=0, timeout=0,
> dynamic=false], initial-delivery-count=0]
> [0x1d350c0]: <- AMQP
> ^CTraceback (most recent call last):
> File "/home/rhs/proton/examples/python/reactor/send.py", line 90, in
> <module>
> r.run()
> File "/home/rhs/proton/proton-c/bindings/python/proton/reactor.py", line
> 120, in run
> while self.process(): pass
> File "/home/rhs/proton/proton-c/bindings/python/proton/reactor.py", line
> 142, in process
> result = pn_reactor_process(self._impl)
> KeyboardInterrupt
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)