Bug #1754
closed
Missing Forwarder::setUnsatisfyTimer in some cases
Added by Alex Afanasyev over 10 years ago.
Updated over 10 years ago.
Description
There are at least two cases when setUnsatisfyTimer
is never called inside Outgoing Interest pipeline:
- when something wrong with face id
- when interest violates scope
More troublesome case is the fact that onOutgoingInterest
may not be even called from the strategy.
At the same time, when we receive Interest we cancel all timers before forwarding Interest to the strategy.
This is wrong and I would suggest setting at least unsatisfy timer within Incoming Interest pipeline, not inside outgoing.
- Status changed from New to In Progress
- % Done changed from 0 to 50
- Status changed from In Progress to Code review
- Description updated (diff)
It's semantically CORRECT to set unsatisfy timer in incoming Interest pipeline, because this timer fires when all in-records expires.
Previously I decided to place this step in outgoing Interest pipeline, because I wanted to avoid cancelling timers in Interest reject pipeline (because unsatisfy timer and straggler timer cannot be set together on the same PIT entry), and I didn't recognize the risk of doing that.
I'll follow up with the pending commit, and update Developer Guide as well.
- Category changed from Faces to Forwarding
- % Done changed from 50 to 100
Code and Developer Guide are updated.
- Status changed from Code review to Closed
Also available in: Atom
PDF