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

Philip Harvey commented on PROTON-191:
--------------------------------------

After doing an initial sweep, and discussing with Rob Godfrey, the following 
discrepancies have been identified, many of which will be addressed in separate 
Jiras.

# The pn_condition_* functions all correspond to the functionality within 
ErronCondition et al.  We need to manually check whether they are logically 
equivalent.
# The codec-related pn_data_* functions (plus pn_message_data) will soon have 
Proton-J equivalents. Rob Godfrey is working on this.
# Numerous Driver-related proton-c functions have no proton-j equivalent yet.  
Gordon Sim is working on the proton-j Driver so we should revisit after that 
work is committed.  In many cases, there is probably little point wrapping a 
proton-c driver in a Java wrapper.
# The pn_error_* functions have no proton-j equivalents.  We need to revisit 
error handling, error codes etc before addressing this.
# We don't yet know what pn_message_inferred does, so not sure if it needs a 
proton-j equivalent
# We need to consider how to do the equivalent of pn_free_* in proton-j across 
the board.  This isn't just a mechanical function mapping because of the 
different memory management approaches of Java and C.
# Java and C programs have quite different norms for setting up SSL (roughly 
speaking, setTrustStore/KeyStore and setPemFile respectively), so we need to 
think whether there should be an equivalent method for functions such as 
pn_messenger_set_trusted_certificates etc.
# We don't think pn_parser_* or pn_scanner_* need a proton-j equivalent.
# pn_ssl_get_peer_hostname and pn_ssl_set_peer_hostname relate to PROTON-161 
which has not yet been implemented in proton-j.
# pn_terminus_capabilities is called by Link.setSource/Target.  However, we 
need to modify how subsequent mutation of sources and targets is done, possibly 
by doing a deep copy before serialising them.  Similar issues apply to 
Message.setAnnotations.
# We need have a general logging discussion before we can add a proton-j 
equivalent for pn_transport_trace.
                
> Proton-API reconciliation reporting tool
> ----------------------------------------
>
>                 Key: PROTON-191
>                 URL: https://issues.apache.org/jira/browse/PROTON-191
>             Project: Qpid Proton
>          Issue Type: Improvement
>          Components: proton-c, proton-j
>            Reporter: Keith Wall
>            Assignee: Keith Wall
>
> Add standalone tool that reconciles the public functions of the Proton-C API 
> against the public API of the Proton-J API.    Used so we can easily spot 
> gaps in one implementation or the other. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to