Project

General

Profile

Actions

Task #2231

closed

Enable use of both NFD and ndnSIM ContentStore implementations

Added by Spyros Mastorakis about 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Category:
model
Target version:
Start date:
11/26/2014
Due date:
% Done:

100%

Estimated time:
Actions #1

Updated by Spyros Mastorakis about 10 years ago

  • Priority changed from Normal to Urgent
Actions #2

Updated by Spyros Mastorakis about 10 years ago

  • Subject changed from Implement NFD's content store replacement policies. to Bring back original ndnSIM Contest Store
  • Status changed from New to In Progress
  • Assignee set to Spyros Mastorakis
Actions #3

Updated by Spyros Mastorakis about 10 years ago

  • % Done changed from 0 to 80

Right now the status is the following:

I kept both the CS of NFD and the CS of the original ndnSIM. When I run the scenarios using the NFD's CS, everything is fine (seems legit..). When I run the scenarios using the original ndnSIM CS, I get a runtime error.

First of all, when the consumer receives the data packet inside the OnData method, the sequence number cannot be retrieved (ndn-consumer.cc:238), because it says that this component does not exist and the name gets out of bounds.

If I comment all the stuff at the OnData method regarding the sequence number, the simulation is executed successfully but there is still a bug, because for all the interest packets that the consumer sends, the data packets come directly from its own CS. So, the consumer node believes that it has always the data cached in its CS.

After some experimentation with the debugger, I found out that when the deepest_prefix_match method is executed (trie-with-policy.h:184), a lookup in the trie is performed (trie-with-policy.h:188). During this lookup (trie.h:309), when the subkey is searched in the children (trie.h:319), the item returned is not equal with the end iterator, so the reachLast variable will be true and the lastItem would not be equal to the end iterator (whereas in the current version of ndnSIM when we are about to have a cache miss, the reachLast variable is false and when the trie is empty, the lastItem is equal to the end iterator).

I would appreciate any help. :)

Actions #4

Updated by Spyros Mastorakis about 10 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 80 to 100

After Alex suggestions, the task was completed.

Actions #5

Updated by Alex Afanasyev almost 10 years ago

  • Subject changed from Bring back original ndnSIM Contest Store to Enable use of both NFD and ndnSIM ContentStore implementations
  • Category set to model
  • Priority changed from Urgent to Normal
  • Target version set to 2.0
Actions #6

Updated by Alex Afanasyev almost 10 years ago

  • Status changed from Resolved to Closed

Implemented as part of commit:de1f77330fee22e3e88a8d4fb9994fe808857b8a

Actions

Also available in: Atom PDF