Junxiao Shi
340d5533ea
table: make name_tree::Node the sole owner of name_tree::Entry
...
This commit also improves name_tree::Entry test coverage.
refs #3687
Change-Id: I92375f29fbebab82c67da7dff2ea7a2952ba2cca
2016-08-13 04:00:35 +00:00
Junxiao Shi
e7258ffa88
table: cleanupOnFaceRemoval doesn't rely on shared_ptr<name_tree::Entry> anymore
...
refs #3687
Change-Id: I3901f053bf370ca5a19a0fea72aec8eb58fcfe10
2016-08-12 23:55:47 +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
b660b4c9c0
table: refactor NameTree hashtable
...
refs #3687
Change-Id: I908c1d7e67da861fc86a756fc0bc69b99ee696f7
2016-08-06 20:47:44 +00:00
Junxiao Shi
029401f6cc
table: refactor NameTree iterator
...
refs #3687
Change-Id: Icf5be98d79cfaa27597f62832fcd0189df2731d1
2016-08-05 12:55:14 +00:00
Junxiao Shi
2570f3ec4f
table: NameTree code style corrections
...
refs #3687
Change-Id: I25cfac1d8b11236c251c2ab717facb82b62dcb10
2016-07-27 02:48:29 +00:00
Junxiao Shi
80f9fcdaa1
table: don't use shared_ptr in Measurements
...
refs #3164
Change-Id: I7705d00ac155b15b5db69809610b68e96360a0ae
2016-07-24 22:52:28 -07:00
Junxiao Shi
ff10da6575
table: attach unique_ptr<strategy_choice::Entry> onto NameTree
...
refs #3164
Change-Id: I5cce7e43dba77cdaaa07347ec7ffca13f242113c
2016-07-13 17:57:43 +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
b755e9d5a7
docs: Fixing doxygen warnings
...
Change-Id: Ic85f86f4de8224e2fa5d1c41f6afb0f367af5b37
Refs: #3210
2015-10-22 11:34:56 -07:00
hwyuan
8082993f7f
table: Remove useless boolean in NameTree::const_iterator::operator++
...
Refs: #2808
Change-Id: Ief819d46a4c44eede5e1fecb951fb3e6002ad409
2015-07-12 19:41:38 -07: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
ac7b437cdb
table/face: fix unused variable warnings in NameTree and NDNLP Slicer
...
refs #2290 , #2287
Change-Id: I40f80f4c8a9fe830edafeada2bbd0b881194d0a3
2014-12-15 07:33:22 -08:00
Junxiao Shi
5ccd0c27fd
table: use boost::iterator_range in NameTree
...
refs #2155
Change-Id: I14efacf26aa1143177038fff3cf20d9d845f2c68
2014-12-04 01:41:45 -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
2b73ca3216
table: make NameTree::findAllMatches usable with range-based for
...
refs #2155
Change-Id: I298825145cf544faaeeb9e558f6deb6703d434c0
2014-11-19 09:30:08 -08:00
Haowei Yuan
f52dac7f03
table: NameTree optimization
...
This commit adds platform-specific hash function selection and hash
table shrink function.
Change-Id: Iaaa0e5b86842d4e0582d3523f0a6b6836e152239
Refs: #1305
2014-04-10 16:46:49 -07:00
Davide Pesavento
52a18f9428
all: cleanup common.hpp and import typenames from ndn namespace.
...
This allows us to compile NFD in C++11 mode, making use of std::shared_ptr,
std::function, std::bind, etc. rather than their boost equivalents
(provided that ndn-cpp-dev is also compiled in C++11 mode). This is an
experimental feature and may not work properly.
Change-Id: I310529f78e1e428a8530b087983130d1ef3a9d88
2014-04-10 15:14:15 -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
Alexander Afanasyev
bf9edeeaee
logging: Reducing log level in several places
...
INFO level is suppose to be used for informational messages that are
useful for ordinary user, but in several places we used it as a DEBUG
output.
In CS the level is reduced even more, to TRACE.
Change-Id: I9058e25d95de79661099dd4624d802cc33420983
2014-04-01 22:24:50 -07:00
Haowei Yuan
694bfb6d72
table: Fixing a bug in Name Tree resize function
...
In the Name Tree resize() function, the pre pointer needs to be reset for each bucket.
Change-Id: I58526c5aaedc63f47aa64dbe285657b98b2a227c
2014-04-01 14:47:17 -05: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
HYuan
a9b85754b2
table: Name Tree Implementation
...
Change-Id: I27dbe50a1f484a7722b443dea6197a0f8d74aa0a
2014-02-26 10:35:16 -08:00