BestRouteStrategy::BestRouteStrategy(Forwarder& forwarder, const Name& name) : BestRouteStrategyBase(forwarder) { ParsedInstanceName parsed = parseInstanceName(name); if (!parsed.parameters.empty()) { BOOST_THROW_EXCEPTION(std::invalid_argument("BestRouteStrategy does not accept parameters")); } if (parsed.version && *parsed.version != getStrategyName()[-1].toVersion()) { BOOST_THROW_EXCEPTION(std::invalid_argument( "BestRouteStrategy does not support version " + to_string(*parsed.version))); } this->setInstanceName(makeInstanceName(name, getStrategyName())); }
ClientControlStrategy::ClientControlStrategy(Forwarder& forwarder, const Name& name) : BestRouteStrategyBase(forwarder) { ParsedInstanceName parsed = parseInstanceName(name); if (!parsed.parameters.empty()) { BOOST_THROW_EXCEPTION(std::invalid_argument("ClientControlStrategy does not accept parameters")); } if (parsed.version && *parsed.version != getStrategyName()[-1].toVersion()) { BOOST_THROW_EXCEPTION(std::invalid_argument( "ClientControlStrategy does not support version " + to_string(*parsed.version))); } this->setInstanceName(makeInstanceName(name, getStrategyName())); NFD_LOG_WARN("NextHopFaceId field is honored universally and " "it's unnecessary to set client-control strategy."); }
AsfStrategy::AsfStrategy(Forwarder& forwarder, const Name& name) : Strategy(forwarder) , m_measurements(getMeasurements()) , m_probing(m_measurements) , m_retxSuppression(RETX_SUPPRESSION_INITIAL, RetxSuppressionExponential::DEFAULT_MULTIPLIER, RETX_SUPPRESSION_MAX) { ParsedInstanceName parsed = parseInstanceName(name); if (!parsed.parameters.empty()) { BOOST_THROW_EXCEPTION(std::invalid_argument("AsfStrategy does not accept parameters")); } if (parsed.version && *parsed.version != getStrategyName()[-1].toVersion()) { BOOST_THROW_EXCEPTION(std::invalid_argument( "AsfStrategy does not support version " + std::to_string(*parsed.version))); } this->setInstanceName(makeInstanceName(name, getStrategyName())); }