Open MahdiBaghbani opened 3 years ago
I think this problem is about how ccn-lite-fetch
sends interests
this is peek command interest received at relay:
[I] 37.5000: incoming interest=</ndn/test/movie/%00%01>ndn2013 nonce=551599065 from=127.0.0.1/40826
[D] 37.5000: searching in CS
[D] 37.5000: matching content for interest, content 0x55f991155f98
interest has chunk number and found in CS
and here is for fetch:
[I] 139.3000: incoming interest=</ndn/test/movie>ndn2013 nonce=1746424685 from=127.0.0.1/44862
[D] 139.3000: searching in CS
[D] 139.3000: created new interest entry 0x55f99055c508 (prefix=/ndn/test/movie)
original URI without chunk number and cannot be found on CS
for some reason fetch is not sending interest with some chunk number prefix and decides to send the main URI.
I couldn't find what is the NDN specification for sending stream requests but I came up with 2 ways to handle this:
I think the first one should be the case since you have already done the same exception for CCNTLV: https://github.com/cn-uofbasel/ccn-lite/blob/da0d9de8d82349dff845acc62d37242dd09b3d3d/src/ccnl-utils/src/ccn-lite-fetch.c#L270-L281
the only change is to add NDN suite to the if
statement but I don't know about the comment above it.
Description
ccn-lite-fetch
command is not working for ndn as expected while you can get individual named objects usingpeek
with-n
flag, there is no way to get stream of objects withfetch
Steps to reproduce the issue
ccn-lite-produce
and create a named object stream out of a video file (or any file) with size 2048 (or any size. max 4096)ccn-lite-peek -s ndn2013 -n1 -u a.b.c.d\port URI
will successfully receive named object from relay.ccn-lite-fetch -s ndn2013 -u a.b.c.d\port URI
will fail.Expected results
receive NDO stream with
ccn-lite-fetch
relay
-v debug
for successfulccn-lite-peek
:peek
-v trace
for successfulccn-lite-peek
:Actual results
relay cant find NDO in CS and tries to find it in (possibly) other nodes by re-transmitting, will exist after default 7 re-transmits.
relay
-v debug
for unsuccessfulccn-lite-fetch
:fetch
-v trace
for unsuccessfulccn-lite-fetch
:Versions
Operating system: Linux Build environment: GCC 9