about the feedback packet

Asked by sleepswallow

hello Didier:
        Happy new year!
       I am back and want to get some help,thanks ~~

      Using the Omode to test node A sending data to node B,when the B down and resarting, then A's compression and B's decompression are not synchronous,so B need to send feedback to A,but B is no date to send A, but the feedback is piggbacking to the compression, as a reslut the feedback of B can not send to A, and the data packet is not decomped in B only when A's changes_to _IR is true . now I want to know you has resolved this question or not , or I how to modify the code simply ?

    thank Didier very much~~

Regards,
sleepswallow

Question information

Language:
English Edit question
Status:
Solved
For:
rohc Edit question
Assignee:
No assignee Edit question
Solved by:
sleepswallow
Solved:
Last query:
Last reply:
Revision history for this message
Didier Barvaux (didier-barvaux) said :
#1

Hello,

Happy new year too :)

If the decompressor is shut down then restarted, the compressor continues to send compressed packets until it receives a NACK feedback. The decompressor sends such feedback when it receives a compressed packet related to an unknown context. But it rate-limit the NACKs, so you need to wait for 3 packets per context to really get a NACK sent. In real world situation, you may experience some extra packets late due to the transmission delay of the link. Does this matches what you see?

Regards,
Didier

Revision history for this message
sleepswallow (sleepswallow128) said :
#2

hello Didier:

        Thanks for your answers.
          I want to know when node B is not compression packet to piggyback the feedback to node A, how to resolve the question? Using the rohc_feedback_flush ? how and where to use the rohc_feedback_flush function appropriate ?

           thanks very much~~

             Regards,
              sleepswallow

Revision history for this message
sleepswallow (sleepswallow128) said :
#3

hello Didier:

       another question: can rohc library run in the vxworks? or modify the code to run?
        thanks~~

      Regards,
              sleepswallow

Revision history for this message
Didier Barvaux (didier-barvaux) said :
#4

Hello,

> I want to know when node B is not compression packet to
> piggyback the feedback to node A, how to resolve the question?
> Using the rohc_feedback_flush ? how and where to use the
> rohc_feedback_flush function appropriate ?

Yes, the rohc_feedback_flush() function is appropriate. Call it whenever you want to send some feedback: if you want high responsiveness, call it after every packet decompression ; if you want to optimize bandwith, call it every N packets or T seconds. You have to perform a compromise between responsiveness (for degraded cases such as compressor/decompressor desynchronization) and efficiency (for nominal cases).

> another question: can rohc library run in the vxworks? or modify
> the code to run?

I don't know vxworks very well, but according to wikipedia vxworks conforms to "POSIX in user-mode execution environment", so the library itself should work in that mode (maybe some of the tools or applications won't). It already works fine on Linux, FreeBSD, OpenBSD and Windows. On the hardware side, x86/x86_64, ARM, PowerPC, and Sparc architectures are supported. If you encounter any problem, report it. I'll do my best to help you.

Regards,
Didier