You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Frank Quinn (JIRA)" <ji...@apache.org> on 2013/05/24 20:34:20 UTC
[jira] [Created] (PROTON-317) Feature Enhancement - API Exposure of
underlying references to internal atoms
Frank Quinn created PROTON-317:
----------------------------------
Summary: 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
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