Commit Graph

29 Commits

Author SHA1 Message Date
Junxiao Shi 3aba7548f4 table: make FIB and StrategyChoice iterators default-constructible
They were previously not default-constructible when compiled with gcc 4.8.4.

refs #3882

Change-Id: I2431c869fb61b7adbe83d5551705981bf8618280
2016-12-24 02:42:52 +00:00
Junxiao Shi 13ad4b7a42 table: simplify FIB iterator with Boost.Range
refs #3738

Change-Id: I0bfe985c9dac86a67988f77a89f4d2694c4fd9f5
2016-08-15 04:51:21 +00:00
Junxiao Shi dd8f66140b table: NameTree::findLongestPrefixMatch accepts all table entry types
This simplifies longest prefix match procedures in FIB and StrategyChoice.

refs #3687

Change-Id: I9aa93232124b91bae7890d065337ac9389e8398e
2016-08-12 15:42:52 +00:00
Junxiao Shi 7f35843d58 table: NameTree::lookup return Entry& instead of shared_ptr
refs #3687

Change-Id: Ie86057337dd36ff2bc6ef3ea0c73fd4ffc4b13d0
2016-08-11 17:06:33 +00:00
Junxiao Shi f2420fc7a3 table: ensure NameTree::lookup(tableEntry) does not return nullptr
NameTree::lookup(tableEntry) is always equivalent to NameTree::lookup(Name).
NameTree::getEntry(tableEntry) should be used when inserting new name tree entry is undesired.

refs #3687

Change-Id: I0b17cd07dde83341976cfe66c85855dfb2fa6e89
2016-08-11 13:18:21 +00:00
Junxiao Shi 811c010098 table: NameTree findExactMatch, findLongestPrefixMatch return Entry*
refs #3687

Change-Id: I32752fd711b9641228fbb7f356e72144780cf9ec
2016-08-10 04:12:45 +00:00
Junxiao Shi e3cf285ee7 table: delete deprecated functions in NameTree
NameTree::eraseEntryIfEmpty is renamed to eraseIfEmpty;
the deprecated overload that accepts shared_ptr<name_tree::Entry> is deleted.
name_tree::Entry::getPrefix is deleted in favor of getName.

This commit also improves Doxygen in NameTree class.

refs #3687

Change-Id: Ia98ca676ce6d3bc7b2e97328adccac911c8167d7
2016-08-09 03:50:56 +00:00
Junxiao Shi 02b73f5705 table: delete PIT in-record and out-record when face is destroyed
refs #3685

Change-Id: I3c20417c9a30db69c90c9d59a30af1529bc1f98e
2016-07-28 01:48:27 +00:00
Junxiao Shi a6de4290c8 table: don't use shared_ptr in FIB
refs #3164

Change-Id: I5b5eb47d60f6bf5b6389c32ac840f793767e4334
2016-07-12 02:08:10 +00:00
Junxiao Shi b184e5324d table: NameTree::getEntry
NameTree::get is renamed to NameTree::lookup.
NameTree::getEntry is introduced to return the NameTreeEntry on which a table entry is attached.
tableEntry::m_nameTreeEntry is changed to weak_ptr to avoid circular shared_ptr reference.

refs #3608, #3619

Change-Id: I425b6a2eb5fe3024bbaff4ff766eb6739be54b02
2016-05-26 18:09:57 +00:00
Junxiao Shi 4370fde844 table: fix PIT not matching full name
refs #3363

Change-Id: I4ff3d02aaf43c3aaba843cfcf6221c218c1cea99
2016-02-24 13:28:45 -08:00
Alexander Afanasyev 319f2c8dbc src: Update copyright notices for files modified in 2015
Change-Id: Ia52e6e891a06fcc7ace06eafd2fffecd7bd55a95
Refs: #2352
2015-01-19 21:45:21 -08:00
Alexander Afanasyev 09fc3d9df8 table: Ensure Fib::const_iterator is default and copy constructible
This functionality is necessary for ndnSIM python bindings and is
technically required by ForwardIterator C++ concept
(http://en.cppreference.com/w/cpp/concept/ForwardIterator)

Change-Id: Ibe0812c3a2cf05840cd3e83b941cc52affe2ac65
Refs: #2338
2015-01-06 10:50:27 -08:00
Junxiao Shi 4b2e6cb321 table: fix Fib::removeNextHopFromAllEntries invalidating NameTree iterator
refs #2177

Change-Id: I19b8234d94b804273404176d6751a91f082653b7
2014-12-03 10:36:27 -08:00
Junxiao Shi 60607c734d table: make NameTree enumeration usable with range-based for
NameTree::fullEnumerate and NameTree::partialEnumerate are changed
to return a type usable with range-based for.

NameTree enumeration test cases are also simplified.

refs #2155

Change-Id: I315d9502d2194670aa7054ab956ededefb0c7ca0
2014-11-29 10:35:06 -08:00
Junxiao Shi 56a21bf34a table: simplify FIB with C++11 features
refs #2100

Change-Id: I293044ae321b9a1d7c07a34f631c49c791c7856d
2014-11-07 14:35:01 -08:00
Alexander Afanasyev b3033247ee table: Fix segfault during Fib::removeNextHopFromAllEntries
Change-Id: I905a3c0da2f2a9197942cfeba7fd698b779e6e4a
Refs: #1816
2014-08-08 16:09:44 -07:00
Junxiao Shi ee5a444344 table: erase NameTree entry when FIB/Measurements/StrategyChoice entry is erased
This commit also optimizes Measurements table to make use of NameTree shortcuts.

refs #1803

Change-Id: Ib0e465750ed5e8ff9ed129a926a7bc852db4e9e1
2014-07-27 17:13:43 -07:00
Alexander Afanasyev 9bcbc7c130 docs: Update of copyright and license statement in all .hpp and .cpp files
Change-Id: I4082db67f2390482615a780d91a513f09d57a9a4
Refs: #1266
2014-04-07 09:18:25 -07:00
HangZhang 5d46942329 table: FIB enumeration
refs #1315

Change-Id: I535d519836720c40f72904e5520d11026ea30a33
2014-03-12 10:12:00 -07:00
HangZhang cb4fc83bff table: shortcuts between FIB, PIT, Measurements, StrategyChoice
refs #1202

Change-Id: Ie63ab792e840de7e0889d385d3e8ea8a112cb7e5
2014-03-11 16:31:09 -07:00
Junxiao Shi efceadc378 fib: implicitly delete empty Entry
Fib::removeNextHopFromAllEntries automatically deletes fib::Entry
if the last nexthop record is being removed.

refs #1341

Change-Id: I36d42fe8f9fc8f03d194f845020aff408cd70488
2014-03-09 19:39:26 -07:00
Haowei Yuan e1079fc4e4 table: NameTree enumeration
refs #1318

Change-Id: I26f25cefe8f2939ca884103f1b081c0c02325207
2014-03-09 19:37:04 -05:00
Junxiao Shi 4063184af0 table: NameTree::findLongestPrefixMatch predicate
refs #1313

Change-Id: I759c8ddf9bc0fe5b970c979f69131a98b1ef32e4
2014-03-03 09:27:13 -07:00
HangZhang ad4afd1492 table: FIB on NameTree
Change-Id:Ie949ad2209ed841af498f45e2d0f365ac905c45d
Refs: #1190
2014-02-28 23:31:29 -08:00
Junxiao Shi dbe7173db1 table: MeasurementsAccessor for strategy
refs #1276

Change-Id: Idec8f615c726f51612236a55a7532fabeb81a32d
2014-02-24 23:32:48 -07:00
Steve DiBenedetto d5f87930a1 table: added findExactMatch and remove methods to Fib
Added methods required to implement remaining FIB
management commands.

refs: #1223

Change-Id: Idf27a60a19286ab1d5712bbc00cca7f41092807b
2014-02-05 16:21:04 -07:00
Alexander Afanasyev 18bbf81601 src: Changing namespace ndn to namespace nfd
Also, this commit imports used classes from ::ndn namespace (from
NDN-CPP library) directly to ::nfd namespace.

refs: #1163

Change-Id: I9cc9d72e00af495b4ed0c84e6d418a7c9ba986cb
2014-01-29 14:12:58 -08:00
Junxiao Shi c1e1236b04 table: Mock implementation of FIB
refs #1127

Change-Id: Ie0bc1fc2ddcc61dd1f1cf10fb1935edde4aff6c5
2014-01-26 14:22:48 -07:00