rohc team mailing list archive
Mailing list archive
Re: [Question #229448]: about feedback
Question #229448 on rohc changed:
Status: Open => Answered
Didier Barvaux proposed the following answer:
> In such a case, feedbacks are sent alone,however,how can we realize
> it in the codes? the logic may be not clear.
Call the rohc_feedback_flush() function of the ROHC library. It will
write a ROHC packet (full of feedback data) in the obuf buffer and will
return the length of that packet. You can then transmit it as any other
> In additon,I wonder if the feedback data sent alone do not need to be
No, a feedback packet does not need to be compressed!
Please the project wiki and the relevant parts of the RFC:
> and if it is received by the another end, we do not bulid and
> send a feedback data for it?
A feedback packet will not generate a feedback packet on the other side.
> Secondly, As for the three parameters:feedbacks_first,
> feedbacks_first_unlocked and feedbacks_next,what is the
> relationship among them , and what is the meaning for "lock" or
> "unlocked" ?
The rohc_feedback_flush() returns you some feedbacks. You try to
transmit them. If it succeeds, that's great. If it fails, the feedbacks
are lost because the library don't remember them: the next call to
rohc_feedback_flush() will give you other feedbacks. You can record the
feedbacks in your own program, but that's not very practical.
So, in order to handle that case the locked/unlocked status was added: when you call the rohc_feedback_flush() function, the library returns you some feedbacks (maybe not all the feedbacks it got if your buffer is too small), but keeps those feedbacks in its buffers: they are locked.
If your transmission succeeds, you can tell the library to remove the locked feedbacks with the rohc_feedback_remove_locked() function.
If your transmission fails, you can tell the library to keep and unlock the feedbacks with the rohc_feedback_unlock() function: they will therefore be returned by the next call to rohc_feedback_flush().
That's a kind of transaction to gracefully handle failure cases.
You received this question notification because you are a member of ROHC
Team, which is an answer contact for rohc.