You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Rafael H. Schloming (JIRA)" <ji...@apache.org> on 2013/08/05 20:28:50 UTC
[jira] [Resolved] (PROTON-317) Feature Enhancement - API Exposure
of underlying references to internal atoms
[ https://issues.apache.org/jira/browse/PROTON-317?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rafael H. Schloming resolved PROTON-317.
----------------------------------------
Resolution: Fixed
> Feature Enhancement - API Exposure of underlying references to internal atoms
> -----------------------------------------------------------------------------
>
> Key: PROTON-317
> URL: https://issues.apache.org/jira/browse/PROTON-317
> Project: Qpid Proton
> Issue Type: Improvement
> Components: proton-c
> Affects Versions: 0.3
> Environment: Linux / C implementation
> Reporter: Frank Quinn
> Fix For: 0.5
>
>
> We're currently creating a pn_message_t and iterating over it using the pn_data_t data type and the various convenience methods surrounding it. This is great for iteration but we were also hoping to have a way to *mark* a point in the payload for future realignment. I looked at get_message_id() but that always seems to return NULL.
>
> Let's take a pseudo example:
>
> pn_data_rewind (pn_data);
> while (pn_data_next (pn_data))
> {
> pn_atom_t atom = pn_data_get_atom (pn_data);
> if(this_atom_might_be_useful)
> {
> // Mark this for potential modification later
> }
> }
>
> if (changes_are_required_based_on_a_combination_of_circumstances)
> {
> // Jump to earlier marker(s)
>
> // put in relevant update(s)
> }
>
> Is there anything we could use for this sort of use case? I want to avoid having to iterate *again* to find values, and I also want to be able to write functions which don't move (or move, then reset) the internal buffer pointers in proton. If there was something like a get_position() or set_position(), that would be perfect.
--
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