Project

General

Profile

Actions

Task #1309

closed

Task #1308: Strategy choice and dispatch

Strategy Choice table

Added by Junxiao Shi over 10 years ago. Updated over 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Tables
Target version:
Start date:
03/01/2014
Due date:
% Done:

100%

Estimated time:
3.00 h

Description

Implement the Strategy Choice table.

class StrategyChoice
{
public:
  // constructor
  StrategyChoice(NameTree& nameTree, shared_ptr<Strategy> defaultStrategy);

  // install strategy
  // Strategy::getName() gives its strategyName, which must be unique
  bool install(shared_ptr<Strategy> strategy);

  // set strategy of prefix to be strategyName
  bool insert(const Name& prefix, const Name& strategyName);

  // make prefix to inherit strategy from its parent
  // not allowed for root prefix (ndn:/)
  void erase(const Name& prefix);

  // get strategy Name of prefix (exact match)
  shared_ptr<Name> get(const Name& prefix);

  // get effective strategy for prefix
  Strategy& findEffectiveStrategy(const Name& prefix);

  // get effective strategy for pitEntry (NameTree shortcut)
  Strategy& findEffectiveStrategy(const pit::Entry& pitEntry);
};

Related issues 5 (0 open5 closed)

Blocks NFD - Task #1311: Strategy Choice managementClosed

Actions
Blocks NFD - Task #1255: Strategy dispatchClosedJunxiao Shi

Actions
Blocks NFD - Task #1234: Runtime strategy changeClosedJunxiao Shi03/12/2014

Actions
Blocked by NFD - Task #1313: NameTree::findLongestPrefixMatch predicateClosedJunxiao Shi03/01/2014

Actions
Blocks NFD - Task #1276: Measurements table accessor for strategyClosedJunxiao Shi02/21/2014

Actions
Actions

Also available in: Atom PDF