Bug #1754
closedMissing Forwarder::setUnsatisfyTimer in some cases
100%
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.
Updated by Alex Afanasyev over 10 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 50
Updated by Alex Afanasyev over 10 years ago
- Status changed from In Progress to Code review
Updated by Junxiao Shi over 10 years ago
- 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.
Updated by Junxiao Shi over 10 years ago
- Category changed from Faces to Forwarding
- % Done changed from 50 to 100
Code and Developer Guide are updated.
Updated by Junxiao Shi over 10 years ago
- Status changed from Code review to Closed