Commit Graph

25 Commits

Author SHA1 Message Date
Junxiao Shi a274292b93 table: pit::Entry checks Interest matches entry when updating in/out-record
pit::Entry::canMatch is the single place to determine whether an Interest
matches an Interest table entry. This condition is asserted when an in/out-
record is inserted or updated. This prevents a strategy from incorrectly
picking an Interest that is incompatible with the Interest table entry.

refs #1756

Change-Id: Ibf61a0e2e32b7a0e04e581f01ef07b791c6010a2
2016-11-17 22:53:23 +00:00
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 9cff779038 table: pit::FaceRecord stores Face& instead of shared_ptr
refs #3164

Change-Id: Ib23ab2341a37213fee791f2070f13b76da851d53
2016-08-01 21:45:11 +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 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
spirosmastorakis ff920303df table: fix Pit::erase crash when Interest name contains implicit digest
refs #3608

Change-Id: I41e0cd327b9dcc5f2d3a83f4cebff40c2d302fc1
2016-05-26 18:09:31 +00:00
Junxiao Shi 4846f37117 table: simplify pit::Entry API
refs #3546

Change-Id: I6a9cb83b9e56ce1d1bb6047049378c51781605af
2016-04-05 13:39:30 -07:00
Junxiao Shi fef73e4b86 table+fw: move forwarding semantics out of PIT entry
refs #3546

Change-Id: I1e6f87fd81176c116b6d758156da1cf96ea03608
2016-03-29 14:15:05 -07:00
Junxiao Shi 5e5e445182 fw: Nack in pipelines and best-route strategy
* in PIT out-record, add last incoming Nack field
* create incoming Nack pipeline
* create outgoing Nack pipeline
* modify Interest loop pipeline to send Nack upon duplicate Nonce
* in strategy API, add after receive Nack trigger and send Nack action
* in best-route strategy, send Nack-NoRoute before rejecting pending Interest
* in best-route strategy, process incoming Nack

Other changes include:

* Pit::find
* StrategyTester saved arguments structs
* TopologyTester transmit at Transport level

refs #3156

Change-Id: I7868561c0838231083d471261200aeb280cc6e9d
2015-09-26 14:38:03 -07:00
Junxiao Shi 1e46be30e4 core: rename nfd::EventId to nfd::scheduler::EventId
refs #2298

Change-Id: I5d4f4c5234fd370666e81a8a8e7d312694a6ad5d
2015-01-09 09:52:56 -07:00
Junxiao Shi b2bcbcd866 table: simplify PIT with C++11 features
refs #2100

Change-Id: I1159761d9439f0a2ff9f6463f89f39372a696e48
2014-11-14 15:03:18 -08:00
Junxiao Shi a110f268c7 fw: use dead Nonce list in pipelines
refs #1953

Change-Id: I0faef2a985b03fe96387c2e0181588713550b9ce
2014-10-19 20:50:48 -07:00
Junxiao Shi 651b75e214 table: capacity limit in PIT NonceList
refs #1770

Change-Id: Ia5722968cca1d9a4bbf3ef19e57be73eac702a69
2014-07-19 10:14:30 -07:00
Alexander Afanasyev 28d586a16b table: Store shared_ptr<Interest> instead of just Interest to avoid extra copy
Change-Id: I240ea4cbe2c9e14b4c1ca2df87d40da8042b78d1
Refs: #1753
2014-07-14 19:20:55 -07:00
Junxiao Shi 66f91f87a3 table: PIT entry InRecord/OutRecord getters
refs #1569

Change-Id: I52d9516fa6154036904e163f918890579a745e4f
2014-05-10 23:58:08 -07:00
Alexander Afanasyev 613e2a9ba3 src: Reorganizing source code in preparation to merge NRD code
Note that as of this commit, there are several changes in location of
compiled binaries in `build/` folder:

* `nfd` has been moved to `build/bin/nfd`
* `unit-tests` has been split into `unit-tests-core` and `unit-tests-daemon`

Change-Id: I2c830c117879edbaa5457d6423c13f0273285919
Refs: #1486
2014-04-16 11:54:35 -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
Junxiao Shi 57f0f311f2 fw: make strategies understand scope
refs #1253

Change-Id: I57f7a6008e6f08c9817e58f480020eb9219a4aec
2014-03-16 17:19:28 -07:00
Junxiao Shi 11bd9c28e8 fw: /localhop scope control on outgoing Interests
refs #1253

Change-Id: I359747688568934070d1583995957835ac690f28
2014-03-15 22:27:19 -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 0b5fbbb4ff fw: NccStrategy
refs #1242

Change-Id: I21f870728b7b361547adbde9d64357c93aeb1ed9
2014-02-26 23:53:53 -08:00
Junxiao Shi 408a7000a8 table: set/getStrategyInfo on FIB/PIT entities
refs #1241

Change-Id: I20f509384a0a046962c3debf3a53a1fc2a01b3bc
2014-02-12 17:53:47 -07:00
Junxiao Shi d3c792f95c fw: basic forwarding procedure & strategy skeleton
refs #1131 #1136

Change-Id: I3e97cb17bf85082b6499a310120409379f8eaa65
2014-01-30 16:39:21 -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 cbba04c997 table: mock PIT
refs #1128

Change-Id: I8943ad07d93422dc456fd051b2e4c0d5f38bc227
2014-01-27 05:49:28 -07:00