Project

General

Profile

Actions

Feature #3658

closed

nfd-status: fetch datasets with StatusDataset client

Added by Junxiao Shi over 7 years ago. Updated over 7 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 over 7 years ago

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

Updated by Junxiao Shi over 7 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 over 7 years ago

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

Actions #4

Updated by Junxiao Shi over 7 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 over 7 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 over 7 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 over 7 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 over 7 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 over 7 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 over 7 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 over 7 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 over 7 years ago

  • Tracker changed from Task to Feature

Updated by Eric Newberry over 7 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 7 years ago

  • Status changed from Code review to Closed
Actions

Also available in: Atom PDF