[
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