[ 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