Actions
Task #1309
closedTask #1308: Strategy choice and dispatch
Strategy Choice table
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);
};
Actions