Task #1676
closedAllow strategies to send the same Interest via the same outgoing face before the previous out-record expires
0%
Description
It is desirable for some strategies to do retransmission of Interests before the existing out-record expires.
One example of this is a strategy with "retransmission detection" (or may be it should be a separate module), which considers the seconds Interest with a different nonce received from the same face as re-expressed by the client (e.g., client detected a loss using equivalent of triple duplicate ACK in TCP), and retransmits this Interest even if there are existing out-record(s).
Updated by Junxiao Shi over 10 years ago
- Assignee set to Junxiao Shi
I can confirm that this restriction is not enforced in outgoing Interest pipeline.
However, pit::Entry::canForwardTo
returns false if an unexpired out-record exists, informing the strategy that the upstream is not eligible.
We should change this method, but the change shall be careful not to break existing strategies.
Updated by Junxiao Shi over 10 years ago
- Description updated (diff)
Question: if strategy decides to forward a similar Interest to an outFace with unexpired out-record, is the Nonce required to be different from the previous one recorded in the out-record?
My opinion is YES, because using a duplicate Nonce causes the Interest to be dropped at the nexthop (unless it's lost at this particular link).
If the consumer retransmits, we already have a new Nonce to use.
Updated by Alex Afanasyev about 10 years ago
Nonce should be different. This particular issue is more about consumer retransmission detection (nonce here is by definition different), rather strategy-decided retransmission. But in any case, there is no point of sending the Interest that can be considered duplicate.
Updated by Junxiao Shi about 10 years ago
It's inaccurate to say "Nonce of consumer retransmission is by definition different", because there isn't a definition for consumer retransmission yet.
In CCNx 0.7.2, when same Nonce arrives from the same face, it's treated as consumer retransmission and not a duplicate.
Updated by Davide Pesavento about 9 years ago
- Target version changed from v0.3 to v0.5
Updated by Junxiao Shi over 8 years ago
- Status changed from New to Closed
As indicated in note-1, outgoing Interest pipeline allows a strategy to send Interest before out-record expires.
pit::Entry::canForwardTo
has been renamed as fw::canForwardToLegacy
in #3545 and it's not recommended for new strategies.
The restriction indicated in this issue description no longer exists, and this issue can be closed.