Project

General

Profile

Actions

Feature #4094

closed

Implement operator== for LSA types

Added by Nicholas Gordon almost 7 years ago. Updated 3 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
-
Start date:
06/16/2017
Due date:
% Done:

100%

Estimated time:
1.00 h

Description

Once #2962 is closed, the {Name, Adjacency, Coordinate}Lsa classes each will have ways to compare them for equality. The idiomatic way to compare two complex objects is to define that behavior in operator==.

This also simplifies testing procedures, and makes source more intuitive.


Related issues 1 (0 open1 closed)

Blocked by NLSR - Task #4137: Make LSA types const correctClosedRyan Wickman06/16/2017

Actions
Actions #1

Updated by Nicholas Gordon almost 7 years ago

I attempted to implement this, but operator==() should always be const. However, many of the participating methods for the data structures of the LSAs are not const, so they require constification, first. At some points this requires many steps of spot fixes, and in some places simple constification is not possible due to logical inconsistencies.

Achieving this will require more careful thought and possibly redesign of the LSA classes and their data structures.

Actions #2

Updated by Nicholas Gordon over 6 years ago

  • Target version changed from v0.4.0 to v0.5.0
Actions #3

Updated by Nicholas Gordon over 6 years ago

  • Target version changed from v0.5.0 to Minor release 0.4.1
Actions #4

Updated by Ashlesh Gawande about 6 years ago

  • Target version changed from Minor release 0.4.1 to v0.5.0
Actions #5

Updated by Ryan Wickman almost 6 years ago

  • Status changed from New to In Progress
  • Assignee set to Ryan Wickman
Actions #6

Updated by Ryan Wickman almost 6 years ago

  • Status changed from In Progress to Code review
Actions #7

Updated by Saurab Dulal about 5 years ago

  • Target version changed from v0.5.0 to Minor release v0.5.1
Actions #8

Updated by Saurab Dulal almost 5 years ago

  • Target version changed from Minor release v0.5.1 to v0.6.0
Actions #9

Updated by Saurab Dulal over 3 years ago

  • Target version changed from v0.6.0 to Minor Release v0.6.1
Actions #10

Updated by Junxiao Shi 8 months ago

  • Tracker changed from Task to Feature
  • Assignee changed from Ryan Wickman to Junxiao Shi
  • Target version deleted (Minor Release v0.6.1 )
Actions #11

Updated by Junxiao Shi 8 months ago

  • Subtask deleted (#4137)
Actions #12

Updated by Junxiao Shi 8 months ago

  • Blocked by Task #4137: Make LSA types const correct added
Actions #13

Updated by Junxiao Shi 8 months ago

  • % Done changed from 100 to 20
Actions #14

Updated by Junxiao Shi 8 months ago

https://gerrit.named-data.net/c/NLSR/+/7147 fixes NamePrefixList::operator== so that it compares names only, which is the behavior prescribed in a unit test comment.
This patch also simplifies the implementation of NamePrefixList type.
NamePrefixList type is now a fully sorted container, and the sort() method is deleted.

Actions #15

Updated by Junxiao Shi 8 months ago

https://gerrit.named-data.net/c/NLSR/+/7167 splits test-lsa.cpp into three test suites, in preparation of further cleans in LSA test suites.

Actions #16

Updated by Junxiao Shi 4 months ago

  • % Done changed from 20 to 50
Actions #17

Updated by Junxiao Shi 4 months ago

  • % Done changed from 50 to 80
Actions #18

Updated by Junxiao Shi 4 months ago

  • % Done changed from 80 to 100
Actions #19

Updated by Junxiao Shi 3 months ago

  • Status changed from Code review to Closed
Actions

Also available in: Atom PDF