Project

General

Profile

Actions

Feature #4805

closed

Process CanBePrefix and drop Selectors

Added by Junxiao Shi over 5 years ago. Updated almost 5 years ago.

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

100%

Estimated time:
9.00 h

Description

In PIT and CS, process Interest CanBePrefix element and stop processing deprecated Selectors.
This includes necessary adjustments to PIT structure, as well as deleting old test cases.


Related issues 1 (0 open1 closed)

Blocks ndn-cxx - Feature #4567: Encode Interest into v0.3 format and drop support for v0.2 formatClosedDavide Pesavento

Actions
Actions #1

Updated by Junxiao Shi over 5 years ago

  • Blocked by Feature #4567: Encode Interest into v0.3 format and drop support for v0.2 format added
Actions #2

Updated by Junxiao Shi over 5 years ago

  • Description updated (diff)
Actions #3

Updated by Junxiao Shi about 5 years ago

  • Status changed from New to In Progress
  • Assignee set to Junxiao Shi
Actions #4

Updated by Junxiao Shi about 5 years ago

https://gerrit.named-data.net/5399 eliminates Selectors from CS tests; it also promotes FindFixture to CsFixture for simplifying CS policy tests.

Rationale for changes in TestCs/Find suite:

  • EmptyInterestName: deleting because zero-component Interest name is forbidden by spec
  • ExactName: spliting to ExactName (CanBePrefix=false) and ExactName_Cbp (CanBePrefix=true)
  • EmptyDataName: changing to FullName_EmptyDataName with implicit digest included in Interest name, because zero-component Interest name is forbidden by spec
  • Leftmost: renaming to PrefixName and adding CanBePrefix=true; also creating PrefixName_NoCbp with CanBePrefix=false
  • Rightmost, MinSuffixComponent, MaxSuffixComponent, DigestOrder, DigestExclude: deleting because Selectors are gone
Actions #5

Updated by Junxiao Shi about 5 years ago

https://gerrit.named-data.net/5402 stops processing ChildSelector in CS implementation. It also converts some function objects into template arguments for better performance.
Processing of other Selectors comes from Interest::matchesData that belongs to #4913.

Actions #6

Updated by Junxiao Shi about 5 years ago

  • % Done changed from 0 to 50
Actions #7

Updated by Junxiao Shi about 5 years ago

Currently, I'm simply removing ChildSelector processing without further optimization.
I recognize the opportunity of reducing "prefix range" when CanBePrefix is unset, but I'd defer that to #4914.

Actions #8

Updated by Junxiao Shi about 5 years ago

From https://gerrit.named-data.net/5402:

code is fine but this should be merged after #4916

I disagree. According to 0.6.5 release notes:

Note that this is the last release that encodes to NDN packet format version 0.2.1. A future release will continue to decode v0.2.1 format, but will encode to v0.3 format.

There's no need to wait for any more releases.

Actions #9

Updated by Junxiao Shi almost 5 years ago

  • % Done changed from 50 to 70

https://gerrit.named-data.net/5443 eliminates Selectors from PIT tests.

Actions #10

Updated by Junxiao Shi almost 5 years ago

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

Given the changes needed to drop Selectors processing in PIT is minimal, they are now part of Change 5443.
There are a lot of optimization possible after these changes, but they should belong to another issue.

Actions #11

Updated by Junxiao Shi almost 5 years ago

  • Blocked by deleted (Feature #4567: Encode Interest into v0.3 format and drop support for v0.2 format)
Actions #12

Updated by Junxiao Shi almost 5 years ago

  • Status changed from Code review to Closed
Actions #13

Updated by Davide Pesavento almost 5 years ago

  • Blocks Feature #4567: Encode Interest into v0.3 format and drop support for v0.2 format added
Actions

Also available in: Atom PDF