Project

General

Profile

Actions

Feature #3658

closed

nfd-status: fetch datasets with StatusDataset client

Added by Junxiao Shi almost 10 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Tools
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
6.00 h

Description

Refactor nfd-status tool to use controller.fetch<> instead of SegmentFetcher.


Files

run-3658-16.log (28.1 KB) run-3658-16.log Integration tests run on NFD master Eric Newberry, 07/29/2016 12:15 PM
run-pre-3658.log (28.1 KB) run-pre-3658.log Integration tests run on #3658 patch set 16 Eric Newberry, 07/29/2016 12:15 PM

Related issues 1 (0 open1 closed)

Blocked by ndn-cxx - Feature #3329: Controller: client for StatusDatasetClosedJunxiao Shi

Actions
Actions #1

Updated by Junxiao Shi almost 10 years ago

  • Blocked by Feature #3329: Controller: client for StatusDataset added
Actions #2

Updated by Junxiao Shi almost 10 years ago

  • Assignee set to Junxiao Shi

I will work on this issue, to serve as an example on how controller.fetch<> should be used.

As part of this issue, I'll also do some refactoring of nfd-status tool, and add partial unit testing.

Actions #3

Updated by Davide Pesavento almost 10 years ago

If you're going to refactor nfd-status, keep in mind #2542.

Actions #4

Updated by Junxiao Shi almost 10 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

https://gerrit.named-data.net/2910 patchset1 shows my idea.

Currently new nfd-status only supports Face dataset.
Old nfd-status is renamed to nfd-status0 for comparison, but will be deleted in a future patchset.

Actions #5

Updated by Junxiao Shi almost 10 years ago

  • % Done changed from 10 to 20

https://gerrit.named-data.net/2910 patchset2 adds modules for forwarder/general and faces/channels, plus a StatusReport class.

forwarder/general needs "nfdId" which is not in the ForwarderStatus struct itself but the Data packet carrying it.
Existing nfd-status solves this problem through a custom validator, but controller.fetch<ForwarderGeneralStatusDataset> can't use a custom validator until #3653.
I need suggestion on whether I should work on #3653 first, or is there a better solution?

faces/channels exposes that ndn::nfd::ChannelDataset type is missing in ndn-cxx.
I'd reopen #3329 to add it.

The StatusReport class controls the overall status retrieval and report generation procedure.
Its main purpose is to serve as an entrypoint for unit testing.

Actions #6

Updated by Junxiao Shi almost 10 years ago

  • % Done changed from 20 to 30

https://gerrit.named-data.net/2910 patchset4 implements NfdIdCollector as a Validator.

Unlike the old implementation, this type allows chaining up to another "inner" Validator, and collects nfdId only if the inner validator accepts a Data.

Actions #7

Updated by Junxiao Shi almost 10 years ago

  • % Done changed from 30 to 40

https://gerrit.named-data.net/2910 patchset5 adds a test case for FaceModule.

Actions #8

Updated by Junxiao Shi almost 10 years ago

  • % Done changed from 40 to 50

https://gerrit.named-data.net/2910 patchset7 adds test cases for ForwarderGeneralModule and ChannelModule.

I'll work on parsing command line arguments next, and then other modules.

Actions #9

Updated by Junxiao Shi almost 10 years ago

https://gerrit.named-data.net/2910 patchset8 implements command line arguments parsing.

Since the parsing procedures would be rewritten in #2542, I don't plan to unit-test them.

Actions #10

Updated by Junxiao Shi almost 10 years ago

  • % Done changed from 50 to 60

https://gerrit.named-data.net/2910 patchset9 implements RibModule along with test suites for all existing modules.

The last step is StrategyChoiceModule.

Actions #11

Updated by Junxiao Shi almost 10 years ago

  • Status changed from In Progress to Code review
  • % Done changed from 60 to 100

https://gerrit.named-data.net/2910 patchset11 completes the nfd-status program.

Actions #12

Updated by Junxiao Shi almost 10 years ago

  • Tracker changed from Task to Feature

Updated by Eric Newberry almost 10 years ago

Attached is the output from running integration tests on the NFD master and on patch set 16.

EDIT: The descriptions of the results are incorrect and should be switched.

Actions #14

Updated by Junxiao Shi over 9 years ago

  • Status changed from Code review to Closed
Actions

Also available in: Atom PDF