Bug #3786
Updated by Junxiao Shi about 8 years ago
**Case 1** Case 1: (1) Topology and route: /a A ------> B 1. Machine A expresses Interest sends two interests (i1 and i2) whose names are both /example/testApp/randomData. i1 `/example/testApp/randomData` without Link object. 2. A waits for i1 to timeout. 3. A delays a short period of time (see below). 4. A expresses Interest has no link object, i2 `/example/testApp/randomData` with Link has link object delegating `/example/testApp` to `/a`. delegate /example/testApp to /a. Expected: Interest (2) What happens in the test: i1 always timeouts before i2 is sent out. If the time interval between sending i1 and i2 is smaller than 100ms, i2 will not be forwarded to B. Actual: Interest If the time interval between sending i1 and i2 is not larger than 100ms, i2 will be forwarded to B if step3 delay is less than 100ms. The behavior is as expected if step3 delay is greater than 100ms. B. Case 2: **Case 2** (1) Topology and route: /example /a C <---------- A ------> B 1. Machine A expresses Interest sends two interests (i1 and i2) whose names are both /example/testApp/randomData. i1 `/example/testApp/randomData` without Link object; InterestLifetime is set has no link object, i2 has link object to 1000ms. 2. delegate /example/testApp to /a. C doesn't have the corresponding data. The lifetime of i1 is 1s. (2) What happens in the test: i1 always timeouts before i2 is sent out. i1 is forwarded to C. 3. C, and C responds Nack-NoRoute sends "NACK: NoRoute" back to A. 4. A waits for If the Nack. 5. A delays a short period of time (see below). 6. A expresses Interest interval between sending i1 and i2 `/example/testApp/randomData` with Link object delegating `/example/testApp` is smaller than 1s, i2 will be forwarded to `/a`. C. Expected: Interest If the time interval between sending i1 and i2 is larger than 1s, i2 will be forwarded to B. Actual: Interest i2 is forwarded to C if step5 delay is less than 1000ms. The behavior is as expected if step5 delay is greater than 1000ms.