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

Andrew Stitcher commented on PROTON-1237:
-----------------------------------------

I think there a couple of problems with the implementation here:

* (minor) There is an implicit convention in the environment variable names 
that makes the last component 3 characters. So the name should be PN_TRACE_EVT.

* More significant. The use of a per function static is a horrible hack.

Specifically it provides no runtime way to turn the logging on or off (as you 
can do from a debugger with the other trace flags). It also provides no way to 
turn only events from restricted sources on, which could be a huge pain if 
debugging a system with very many event connections. I think he correct thing 
to do is to keep the flag in the transport logging flags with all the others 
and then to query that for whether or not to print the debug trace.

I do think this is a very useful function (and hacked my own version of this 
just last week into pn_reactor). But I think it needs a little more consistency 
with the rest of the (admittedly crappy) logging.

> C connection_engine interface and libuv example driver.
> -------------------------------------------------------
>
>                 Key: PROTON-1237
>                 URL: https://issues.apache.org/jira/browse/PROTON-1237
>             Project: Qpid Proton
>          Issue Type: New Feature
>          Components: proton-c
>    Affects Versions: 0.12.2
>            Reporter: Alan Conway
>            Assignee: Alan Conway
>             Fix For: 0.14.0
>
>
> The C++ and Ruby bindings have a connection_engine interface: it gathers 
> together the functionality of pn_connection pn_transport and pn_collector to 
> enable handler-style programming against a single connection, with no 
> assumptions about IO or threading.
> Some of this can be back-ported to C to make it easier to do reactive 
> programming in C without using the pn_reactor (which forces IO and threading 
> choices on the user)
> Create a C version of the C++ io::connection_engine and use it as the 
> implementation of the C++ and Go binding engines.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to