Feature #3658
closednfd-status: fetch datasets with StatusDataset client
100%
Description
Refactor nfd-status
tool to use controller.fetch<>
instead of SegmentFetcher
.
Files
Updated by Junxiao Shi over 8 years ago
- Blocked by Feature #3329: Controller: client for StatusDataset added
Updated by Junxiao Shi over 8 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.
Updated by Davide Pesavento over 8 years ago
If you're going to refactor nfd-status
, keep in mind #2542.
Updated by Junxiao Shi over 8 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.
Updated by Junxiao Shi over 8 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.
Updated by Junxiao Shi over 8 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.
Updated by Junxiao Shi over 8 years ago
- % Done changed from 30 to 40
https://gerrit.named-data.net/2910 patchset5 adds a test case for FaceModule
.
Updated by Junxiao Shi over 8 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.
Updated by Junxiao Shi over 8 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.
Updated by Junxiao Shi over 8 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
.
Updated by Junxiao Shi over 8 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.
Updated by Eric Newberry over 8 years ago
- File run-3658-16.log run-3658-16.log added
- File run-pre-3658.log run-pre-3658.log added
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.
Updated by Junxiao Shi over 8 years ago
- Status changed from Code review to Closed