Re: improving cross language maintainability

2013-12-19 Thread Rafael Schloming
On Thu, Dec 19, 2013 at 2:44 PM, Ken Giusti  wrote:

> Sorry for top-posting.  I'm trying to understand the consequences of what
> you are proposing.
>
> First, as I understand it, there are two separate test suites in the
> proton tree: one written in Java - containing 19 tests as you point out -
> and a much larger one written in python.  Each test suite exercises both
> the Java and C implementations.  By testing both implementations using the
> same tests, we ensure consistency across the two implementations (some, as
> a lot of the python tests are skipped)
>
> What you're proposing would remove the ability for the Java test suite to
> exercise the C implementation, right?
>

Yes, it would remove the ability for Java tests to exercise C code by
calling it through JNI. We do have the interop test suite which checks that
there is common behaviour without using JNI, i.e. by comparing binary
output of codec and such across languages and I can imagine a number of
other ways we could test for common behaviour that would not involve Java
code calling into C code, e.g. comparing protocol traces, or running
interop scenarios over the wire.


>
> This means that only the python test suite would be used to ensure cross
> implementation consistency (Java v. C), right?
>

Yes


>
> What doesn't change is the two python wrapper implementations - one that
> wraps the Java API, the other wraps the C API - that are used by the python
> test suite to test both implementations.  We'd still have to keep both of
> those sync'ed.
>

Correct, although I believe there are some ways that we can significantly
improve the commonality between the two python wrapper implementations
(shims), and I suspect this will also improve the consistency of the APIs
as well.


>
> If all my assumptions above are correct, then I can live with this.  It
> still ensures (some) consistency checking between the two implementations.
>   Drift between the two python wrappers could be caught by the tests
> themselves, so I'm not too concerned about that.
>
> I'd like to see that time saved maintaining two test beds invested in
> bringing both implementations to parity - IMHO we're skipping far too many
> tests due to feature disparity.
>

Agreed.

--Rafael


Re: improving cross language maintainability

2013-12-19 Thread Rafael Schloming
On Thu, Dec 19, 2013 at 9:01 AM, Darryl L. Pierce wrote:

> On Thu, Dec 19, 2013 at 08:49:59AM -0500, Rafael Schloming wrote:
> 
> > I would love to hear thoughts and/or alternative ideas on how to improve
> > things. I would like to start addressing this early in the 0.7
> development
> > cycle.
>
> In a similar way, I'm trying to keep our Ruby and Perl bindings in
> parity as best I can with what's going on in the C and Python code. Can
> we use JIRA to create umbrella tasks for when new features are added,
> with subtasks that are binding specific? Or if there's a change to the C
> code that would require a change in the bindings, have the C code be the
> top JIRA and the language bindings be subtasks to that? That way I
> wouldn't need to look through commits to see what's changed in C to know
> what should be added to the other languages.
>
> Also, could we add a component for each of the language bindings? It
> doesn't feel right to add a JIRA for something in Ruby that's at the
> Ruby level but have its component be "proton-c".
>

It certainly makes sense to make it as easy as possible to track what is
going on, and I can see how that would help keep bindings up to date where
there is interest and resources to do so. However we do this though, I
don't want to just brainlessly duplicate each C jira across every binding
(not that you're necessarily suggesting this).

The problem I have with that approach is that there isn't equivalent
interest/resources associated with each binding, so e.g. if we were to make
every JIRA a full umbrella that depends on sub tasks for each binding we
would continually accumulate php jiras that never end up getting closed off
because we don't keep php as up to date as the other bindings, and this in
turn would cause the umbrella JIRAs to never get closed off. Jira is really
a task oriented tool, and I think JIRAs should really only be created when
there is intention/interest to actually complete the task they represent,
otherwise they usually end up being noise/clutter that will eventually be
irrelevant and out of date. I'd suggest that perhaps a more document
oriented description of those features for which we are trying to keep
parity would possibly be helpful.

All that said, I'm certainly sure we can improve our usage of JIRA, and
I've gone ahead and added ruby-binding, python-binding, perl-binding, and
php-binding components as you suggest.

--Rafael


Re: improving cross language maintainability

2013-12-19 Thread Ken Giusti
Sorry for top-posting.  I'm trying to understand the consequences of what you 
are proposing.

First, as I understand it, there are two separate test suites in the proton 
tree: one written in Java - containing 19 tests as you point out - and a much 
larger one written in python.  Each test suite exercises both the Java and C 
implementations.  By testing both implementations using the same tests, we 
ensure consistency across the two implementations (some, as a lot of the python 
tests are skipped)

What you're proposing would remove the ability for the Java test suite to 
exercise the C implementation, right?

This means that only the python test suite would be used to ensure cross 
implementation consistency (Java v. C), right?

What doesn't change is the two python wrapper implementations - one that wraps 
the Java API, the other wraps the C API - that are used by the python test 
suite to test both implementations.  We'd still have to keep both of those 
sync'ed.

If all my assumptions above are correct, then I can live with this.  It still 
ensures (some) consistency checking between the two implementations.   Drift 
between the two python wrappers could be caught by the tests themselves, so I'm 
not too concerned about that.

I'd like to see that time saved maintaining two test beds invested in bringing 
both implementations to parity - IMHO we're skipping far too many tests due to 
feature disparity.

  

- Original Message -
> From: "Rafael Schloming" 
> To: proton@qpid.apache.org
> Sent: Thursday, December 19, 2013 8:49:59 AM
> Subject: improving cross language maintainability
> 
> Hi Everyone,
> 
> I've been struggling with some of the cross language maintenance aspects of
> proton for a while, and I believe we need to take some steps to improve the
> situation. I'm one of a tiny number of people (two possibly) who regularly
> commit changes to both the Java and C codebase and attempt to keep the two
> in sync and at feature parity. Because of this, not everyone is necessarily
> aware of the process, but to summarize the issue, currently there are far
> too many moving parts and layers of indirection involved. This is not only
> a significant drag on my personal productivity, but perhaps more
> importantly it is a significant barrier to growing the number of proton
> contributors in general as all those moving parts and layers of indirection
> need to be understood before being able to make complete contributions.
> 
> To get an idea of what's going on here I think it helps to look at what's
> involved in a simple change. Recently I noticed an edge case around status
> updates in the messenger interface. The fix involved adding another value
> to messenger's status enum and making a trivial logic change to make use of
> that value under the appropriate circumstances. You can look at the full
> commit here[1] if you like, but it breaks down in the following way:
> 
> Changes to C implementation (.h and .c file): 8 LOC
> Changes to the python test shim for C: 3 LOC
> Changes to the Java API: 2 LOC
> Changes to the pure Java implementation: 6 LOC
> Changes to the JNI binding: 4 LOC
> Changes to the python test shim for Java: 3 LOC
> Changes to the python test suite: 2 LOC
> 
> Now obviously from a personal productivity perspective it is at a minimum
> annoying to have to touch so many different parts in order to make even a
> trivial change, but setting that aside for the moment, what is really
> sobering about this is that each one of the above parts involve a non
> trivial learning curve on their own, and while it's true that only a few
> lines of code are needed in each area, it is necessary to understand each
> piece before being able to write the correct few lines of code. This
> presents a pretty daunting hurdle for bringing new contributors to the
> codebase up to the level needed to make even a trivial change like the one
> above.
> 
> The JNI binding and the python test shim for Java both exist to serve
> similar purposes, namely to facilitate running a common test suite against
> both implementations in order to ensure common behaviour. The python test
> shims allow the python test suite to run against both proton-c and proton-j
> (via jython), and the JNI binding allows pure  Java tests to be run against
> proton-c as well as proton-j.
> 
> Currently by my count there are about 19 such tests in Java. By comparison
> there are about 266 tests in the python test suite. Also, judging by
> commits, the python test suite is growing/actively maintained, and the java
> system tests (the subset of java tests that are run against both
> implementations) are neither. On top of this the JNI binding itself has
> suffered significantly from bit rot. As far as I know it is not made use of
> outside of our own test infrastructure, and currently about 50% of the
> tests run against it are skipped because it is only minimally maintained
> when necessary to get the tests to pass.
> 
> Because of a

Proton 0.6 RC3

2013-12-19 Thread Rafael Schloming
Hi Everyone,

I've put out an RC3 with fixes to the issues people have noted so far with
RC2. You can find the source tarballs here:

http://people.apache.org/~rhs/qpid-proton-0.6rc3/

The java binaries are here:

https://repository.apache.org/content/repositories/orgapacheqpid-003/

I've attached the list of changes since RC2.

--Rafael

r1552390 | rhs | 2013-12-19 13:22:51 -0500 (Thu, 19 Dec 2013) | 1 line

PROTON-420: modified pn_messenger_route comment to use alternative detailed 
block syntax to avoid comment warnings due to embedded examples containing /\*

r1552341 | mcpierce | 2013-12-19 11:29:19 -0500 (Thu, 19 Dec 2013) | 3 lines

PROTON-482: Fix the Ruby install directory.

Use vendorarchdir rather than vendorlibdir.

r1552223 | rhs | 2013-12-18 22:48:51 -0500 (Wed, 18 Dec 2013) | 1 line

added released status

r1552221 | rhs | 2013-12-18 22:41:15 -0500 (Wed, 18 Dec 2013) | 1 line

PROTON-420: added error.h portion of patch

r1552218 | rhs | 2013-12-18 22:16:12 -0500 (Wed, 18 Dec 2013) | 1 line

fixed braino in PROTON-439



[jira] [Commented] (PROTON-420) Warnings Presented When Using Strict Compiler Flags

2013-12-19 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13853095#comment-13853095
 ] 

ASF subversion and git services commented on PROTON-420:


Commit 1552390 from r...@apache.org in branch 'proton/trunk'
[ https://svn.apache.org/r1552390 ]

PROTON-420: modified pn_messenger_route comment to use alternative detailed 
block syntax to avoid comment warnings due to embedded examples containing /\*

> Warnings Presented When Using Strict Compiler Flags
> ---
>
> Key: PROTON-420
> URL: https://issues.apache.org/jira/browse/PROTON-420
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Affects Versions: 0.5
> Environment: GCC 4.4.7
>Reporter: Frank Quinn
> Attachments: 
> FIX-Warnings-Presented-When-Using-Strict-Compiler-Flags-PROTON-420.patch
>
>
> Hi Folks,
> In our project, we currently use the following compiler flags for gcc (tested 
> in version 4.4.7):
> -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes 
> -Werror
> Unfortunately this causes problems in recent versions of proton as its 
> headers produce some warnings of their own. The ones we have spotted can be 
> recreated using the following code:
> #include 
> #include 
> int main(){}
> Compiled with:
> $ gcc -Wall -Wdeclaration-after-statement -Wmissing-prototypes 
> -Wstrict-prototypes -Werror -I./qpid-proton-0.5/proton-c/include/ test.c -o 
> test
> cc1: warnings being treated as errors
> In file included from test.c:1:
> ./qpid-proton-0.5/proton-c/include/proton/error.h:46: error: function 
> declaration isn’t a prototype
> In file included from test.c:2:
> ./qpid-proton-0.5/proton-c/include/proton/messenger.h:458:29: error: "/*" 
> within comment
> ./qpid-proton-0.5/proton-c/include/proton/messenger.h:466:40: error: "/*" 
> within comment
> ./qpid-proton-0.5/proton-c/include/proton/messenger.h:470:32: error: "/*" 
> within comment
> ./qpid-proton-0.5/proton-c/include/proton/messenger.h:475:34: error: "/*" 
> within comment
> test.c:4: error: function declaration isn’t a prototype
> The first one can be resolved by changing pn_error() to pn_error(void) and 
> the others can be fixed simply by adding some spacing. We typically just hack 
> our local copies for testing, but we figured it may be better to get this 
> into the main code stream if you guys can find the time to put it in.
> Cheers,
> Frank 



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Resolved] (PROTON-482) Ruby bindings install to vendorarchdir rather than vendorlibdir

2013-12-19 Thread Darryl L. Pierce (JIRA)

 [ 
https://issues.apache.org/jira/browse/PROTON-482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Darryl L. Pierce resolved PROTON-482.
-

   Resolution: Fixed
Fix Version/s: 0.6

> Ruby bindings install to vendorarchdir rather than vendorlibdir
> ---
>
> Key: PROTON-482
> URL: https://issues.apache.org/jira/browse/PROTON-482
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Reporter: Darryl L. Pierce
>Assignee: Darryl L. Pierce
> Fix For: 0.6
>
>
> The vendorarchdir is the proper location on Ruby (1.8.7+) for platform 
> specific code, like the Ruby bindings. If this isn't found (Ruby 1.8.6) then 
> sitearchdir should be used.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Commented] (PROTON-482) Ruby bindings install to vendorarchdir rather than vendorlibdir

2013-12-19 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13853013#comment-13853013
 ] 

ASF subversion and git services commented on PROTON-482:


Commit 1552341 from [~mcpierce] in branch 'proton/trunk'
[ https://svn.apache.org/r1552341 ]

PROTON-482: Fix the Ruby install directory.

Use vendorarchdir rather than vendorlibdir.

> Ruby bindings install to vendorarchdir rather than vendorlibdir
> ---
>
> Key: PROTON-482
> URL: https://issues.apache.org/jira/browse/PROTON-482
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Reporter: Darryl L. Pierce
>Assignee: Darryl L. Pierce
> Fix For: 0.6
>
>
> The vendorarchdir is the proper location on Ruby (1.8.7+) for platform 
> specific code, like the Ruby bindings. If this isn't found (Ruby 1.8.6) then 
> sitearchdir should be used.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Updated] (PROTON-482) Ruby bindings install to vendorarchdir rather than vendorlibdir

2013-12-19 Thread Darryl L. Pierce (JIRA)

 [ 
https://issues.apache.org/jira/browse/PROTON-482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Darryl L. Pierce updated PROTON-482:


Description: The vendorarchdir is the proper location on Ruby (1.8.7+) for 
platform specific code, like the Ruby bindings. If this isn't found (Ruby 
1.8.6) then sitearchdir should be used.  (was: The sitearchdir is the proper 
location on earlier versions of Ruby for platform-specific code like the Ruby 
bindings.)

> Ruby bindings install to vendorarchdir rather than vendorlibdir
> ---
>
> Key: PROTON-482
> URL: https://issues.apache.org/jira/browse/PROTON-482
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Reporter: Darryl L. Pierce
>Assignee: Darryl L. Pierce
>
> The vendorarchdir is the proper location on Ruby (1.8.7+) for platform 
> specific code, like the Ruby bindings. If this isn't found (Ruby 1.8.6) then 
> sitearchdir should be used.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Updated] (PROTON-482) Ruby bindings install to vendorarchdir rather than vendorlibdir

2013-12-19 Thread Darryl L. Pierce (JIRA)

 [ 
https://issues.apache.org/jira/browse/PROTON-482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Darryl L. Pierce updated PROTON-482:


Summary: Ruby bindings install to vendorarchdir rather than vendorlibdir  
(was: Ruby bindings install to sitearchdir rather than sitelibdir)

> Ruby bindings install to vendorarchdir rather than vendorlibdir
> ---
>
> Key: PROTON-482
> URL: https://issues.apache.org/jira/browse/PROTON-482
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-c
>Reporter: Darryl L. Pierce
>Assignee: Darryl L. Pierce
>
> The sitearchdir is the proper location on earlier versions of Ruby for 
> platform-specific code like the Ruby bindings.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


[jira] [Created] (PROTON-482) Ruby bindings install to sitearchdir rather than sitelibdir

2013-12-19 Thread Darryl L. Pierce (JIRA)
Darryl L. Pierce created PROTON-482:
---

 Summary: Ruby bindings install to sitearchdir rather than 
sitelibdir
 Key: PROTON-482
 URL: https://issues.apache.org/jira/browse/PROTON-482
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c
Reporter: Darryl L. Pierce
Assignee: Darryl L. Pierce


The sitearchdir is the proper location on earlier versions of Ruby for 
platform-specific code like the Ruby bindings.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)


Re: improving cross language maintainability

2013-12-19 Thread Darryl L. Pierce
On Thu, Dec 19, 2013 at 08:49:59AM -0500, Rafael Schloming wrote:
 
> I would love to hear thoughts and/or alternative ideas on how to improve
> things. I would like to start addressing this early in the 0.7 development
> cycle.

In a similar way, I'm trying to keep our Ruby and Perl bindings in
parity as best I can with what's going on in the C and Python code. Can
we use JIRA to create umbrella tasks for when new features are added,
with subtasks that are binding specific? Or if there's a change to the C
code that would require a change in the bindings, have the C code be the
top JIRA and the language bindings be subtasks to that? That way I
wouldn't need to look through commits to see what's changed in C to know
what should be added to the other languages.

Also, could we add a component for each of the language bindings? It
doesn't feel right to add a JIRA for something in Ruby that's at the
Ruby level but have its component be "proton-c".

-- 
Darryl L. Pierce, Sr. Software Engineer @ Red Hat, Inc.
Delivering value year after year.
Red Hat ranks #1 in value among software vendors.
http://www.redhat.com/promo/vendor/



pgp5KU9SF4aFs.pgp
Description: PGP signature


improving cross language maintainability

2013-12-19 Thread Rafael Schloming
Hi Everyone,

I've been struggling with some of the cross language maintenance aspects of
proton for a while, and I believe we need to take some steps to improve the
situation. I'm one of a tiny number of people (two possibly) who regularly
commit changes to both the Java and C codebase and attempt to keep the two
in sync and at feature parity. Because of this, not everyone is necessarily
aware of the process, but to summarize the issue, currently there are far
too many moving parts and layers of indirection involved. This is not only
a significant drag on my personal productivity, but perhaps more
importantly it is a significant barrier to growing the number of proton
contributors in general as all those moving parts and layers of indirection
need to be understood before being able to make complete contributions.

To get an idea of what's going on here I think it helps to look at what's
involved in a simple change. Recently I noticed an edge case around status
updates in the messenger interface. The fix involved adding another value
to messenger's status enum and making a trivial logic change to make use of
that value under the appropriate circumstances. You can look at the full
commit here[1] if you like, but it breaks down in the following way:

Changes to C implementation (.h and .c file): 8 LOC
Changes to the python test shim for C: 3 LOC
Changes to the Java API: 2 LOC
Changes to the pure Java implementation: 6 LOC
Changes to the JNI binding: 4 LOC
Changes to the python test shim for Java: 3 LOC
Changes to the python test suite: 2 LOC

Now obviously from a personal productivity perspective it is at a minimum
annoying to have to touch so many different parts in order to make even a
trivial change, but setting that aside for the moment, what is really
sobering about this is that each one of the above parts involve a non
trivial learning curve on their own, and while it's true that only a few
lines of code are needed in each area, it is necessary to understand each
piece before being able to write the correct few lines of code. This
presents a pretty daunting hurdle for bringing new contributors to the
codebase up to the level needed to make even a trivial change like the one
above.

The JNI binding and the python test shim for Java both exist to serve
similar purposes, namely to facilitate running a common test suite against
both implementations in order to ensure common behaviour. The python test
shims allow the python test suite to run against both proton-c and proton-j
(via jython), and the JNI binding allows pure  Java tests to be run against
proton-c as well as proton-j.

Currently by my count there are about 19 such tests in Java. By comparison
there are about 266 tests in the python test suite. Also, judging by
commits, the python test suite is growing/actively maintained, and the java
system tests (the subset of java tests that are run against both
implementations) are neither. On top of this the JNI binding itself has
suffered significantly from bit rot. As far as I know it is not made use of
outside of our own test infrastructure, and currently about 50% of the
tests run against it are skipped because it is only minimally maintained
when necessary to get the tests to pass.

Because of all this I'm proposing that we remove the JNI binding and roll
back the Java API/impl split that was (hastily) done to facilitate the test
infrastructure. This should significantly simplify the development process
relative to what it is now, and while there is still more learning curve
than desired with the python shims, I believe this will put us in a
position to improve the shims, remove duplication, and minimize the
overhead associated with them, ultimately allowing us to make the codebase
more transparently communicate its design and  hopefully lessen the
learning curve for new contributions.

I would love to hear thoughts and/or alternative ideas on how to improve
things. I would like to start addressing this early in the 0.7 development
cycle.

[1] http://svn.apache.org/r1551950


Re: Proton 0.6 RC2

2013-12-19 Thread Ted Ross

Yes, it's fixed on trunk.  Thanks!

-Ted

On 12/19/2013 05:52 AM, Rafael Schloming wrote:

I believe I've fixed this on trunk. Let me know if you still see the
problem there.

--Rafael


On Wed, Dec 18, 2013 at 5:44 PM, Ted Ross  wrote:


Digging further into this, I see that Messenger is providing the
subscription and the address before the dynamic-attach handshake is
completed.  It was my understanding that one or both of those calls would
block until the name was resolved.

-Ted


On 12/18/2013 05:25 PM, Ted Ross wrote:


QPID-439 seems to have reverted in this RC.

Here's my client code:

 self.M.route("amqp:/*", "amqp://%s/$1" % host)
 self.subscription = self.M.subscribe("amqp:/#")
 self.reply = self.subscription.address
 print "REPLY:", self.reply

The output is:

 REPLY: None

yet the trace looks like this:

 [0x26135e0]:0 -> @attach(18) [name="receiver-xxx", handle=0,
role=true, snd-settle-mode=2, rcv-settle-mode=0,
 source=@source(40) [durable=0, timeout=0, dynamic=true],
 target=@target(41) [durable=0, timeout=0, dynamic=false],
 initial-delivery-count=0]
 [0x26135e0]:0 <- @attach(18) [name="receiver-xxx", handle=0,
role=false, snd-settle-mode=2, rcv-settle-mode=0,
 source=@source(40) [address="amqp:/_topo/0/
Router.A/temp.4TQT_a",
 durable=0, timeout=0, dynamic=true], initial-delivery-count=0]



On 12/18/2013 04:53 PM, Rafael Schloming wrote:


Hi Everyone,

I've just posted proton 0.6 RC2. The changes since RC1 are listed in the
attached file. Please check it out and let me know if you run into any
issues.

Sources are available here:

http://people.apache.org/~rhs/qpid-proton-0.6rc2/ <
http://people.apache.org/%7Erhs/qpid-proton-0.6rc2/>

Java binaries are available here:

https://repository.apache.org/content/repositories/orgapacheqpid-070/

--Rafael




-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org





-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org






Re: Proton 0.6 RC2

2013-12-19 Thread Frank Quinn
Sounds great, thanks Rafael - that one had been annoying us :).

Cheers,
Frank


- Original Message -
From: Rafael Schloming [mailto:r...@alum.mit.edu]
Sent: Thursday, December 19, 2013 10:58 AM
To: proton@qpid.apache.org 
Cc: us...@qpid.apache.org 
Subject: Re: Proton 0.6 RC2

On Wed, Dec 18, 2013 at 6:43 PM, Frank Quinn  wrote:

> Hi Rafael,
>
> Could we get PROTON-420 in there too? I attached a patch to the ticket
> which fixes, it's just for compiler warning prevention when compiling
> against proton with strict flags.
>

I have applied a modified version of the PROTON-420 patch. I really don't
like adding a space to examples. I feel like it is pretty inevitable that
people will cut and paste example snippets and if there is an extra space
in there then it will lead to lots of problems. I do recall that there is
an alternative syntax for detailed comment descriptions in doxygen that
makes use of // style comments rather than /* style comments. I've switched
over to this form and removed the -Wno-comment from the build. This appears
to work for me, so hopefully it will fix your warnings also. SVN appears to
be down now, but I will check it in as soon as it is back up.

--Rafael


This message may contain confidential information and is intended for specific 
recipients unless explicitly noted otherwise. If you have reason to believe you 
are not an intended recipient of this message, please delete it and notify the 
sender. This message may not represent the opinion of IntercontinentalExchange 
Group, Inc. (ICE), NYSE Euronext or any of their subsidiaries or affiliates, 
and does not constitute a contract or guarantee. Unencrypted electronic mail is 
not secure and the recipient of this message is expected to provide safeguards 
from viruses and pursue alternate means of communication where privacy or a 
binding message is desired.




Re: Proton 0.6 RC2

2013-12-19 Thread Rafael Schloming
On Wed, Dec 18, 2013 at 6:43 PM, Frank Quinn  wrote:

> Hi Rafael,
>
> Could we get PROTON-420 in there too? I attached a patch to the ticket
> which fixes, it's just for compiler warning prevention when compiling
> against proton with strict flags.
>

I have applied a modified version of the PROTON-420 patch. I really don't
like adding a space to examples. I feel like it is pretty inevitable that
people will cut and paste example snippets and if there is an extra space
in there then it will lead to lots of problems. I do recall that there is
an alternative syntax for detailed comment descriptions in doxygen that
makes use of // style comments rather than /* style comments. I've switched
over to this form and removed the -Wno-comment from the build. This appears
to work for me, so hopefully it will fix your warnings also. SVN appears to
be down now, but I will check it in as soon as it is back up.

--Rafael


Re: Proton 0.6 RC2

2013-12-19 Thread Rafael Schloming
I believe I've fixed this on trunk. Let me know if you still see the
problem there.

--Rafael


On Wed, Dec 18, 2013 at 5:44 PM, Ted Ross  wrote:

> Digging further into this, I see that Messenger is providing the
> subscription and the address before the dynamic-attach handshake is
> completed.  It was my understanding that one or both of those calls would
> block until the name was resolved.
>
> -Ted
>
>
> On 12/18/2013 05:25 PM, Ted Ross wrote:
>
>> QPID-439 seems to have reverted in this RC.
>>
>> Here's my client code:
>>
>> self.M.route("amqp:/*", "amqp://%s/$1" % host)
>> self.subscription = self.M.subscribe("amqp:/#")
>> self.reply = self.subscription.address
>> print "REPLY:", self.reply
>>
>> The output is:
>>
>> REPLY: None
>>
>> yet the trace looks like this:
>>
>> [0x26135e0]:0 -> @attach(18) [name="receiver-xxx", handle=0,
>> role=true, snd-settle-mode=2, rcv-settle-mode=0,
>> source=@source(40) [durable=0, timeout=0, dynamic=true],
>> target=@target(41) [durable=0, timeout=0, dynamic=false],
>> initial-delivery-count=0]
>> [0x26135e0]:0 <- @attach(18) [name="receiver-xxx", handle=0,
>> role=false, snd-settle-mode=2, rcv-settle-mode=0,
>> source=@source(40) [address="amqp:/_topo/0/
>> Router.A/temp.4TQT_a",
>> durable=0, timeout=0, dynamic=true], initial-delivery-count=0]
>>
>>
>>
>> On 12/18/2013 04:53 PM, Rafael Schloming wrote:
>>
>>> Hi Everyone,
>>>
>>> I've just posted proton 0.6 RC2. The changes since RC1 are listed in the
>>> attached file. Please check it out and let me know if you run into any
>>> issues.
>>>
>>> Sources are available here:
>>>
>>> http://people.apache.org/~rhs/qpid-proton-0.6rc2/ <
>>> http://people.apache.org/%7Erhs/qpid-proton-0.6rc2/>
>>>
>>> Java binaries are available here:
>>>
>>> https://repository.apache.org/content/repositories/orgapacheqpid-070/
>>>
>>> --Rafael
>>>
>>>
>>>
>>>
>>> -
>>> To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
>>> For additional commands, e-mail: users-h...@qpid.apache.org
>>>
>>
>>
>>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
> For additional commands, e-mail: users-h...@qpid.apache.org
>
>