qosd: прокинут kind до BaseNode
Теперь конкретные узлы не сами устанавливают себе `kind_`, а делают это через `BaseNode` — единую точку входа.
This commit is contained in:
@@ -9,7 +9,8 @@ class BaseNode : public virtual INode {
|
||||
public:
|
||||
/// \brief Конструктор узла.
|
||||
/// \param name Неуникальное имя узла.
|
||||
BaseNode(std::string name) : name_(std::move(name)) {
|
||||
BaseNode(std::string name, std::string kind) :
|
||||
name_(std::move(name)), kind_(std::move(kind)) {
|
||||
Logger::get("ConDes").dbg(std::string("--- Base constructor called for: ") + name_);
|
||||
}
|
||||
/// \brief Неуникальное имя узла.
|
||||
|
||||
@@ -14,7 +14,8 @@ public:
|
||||
Logger::get("ConDes").dbg(std::string("--- Complex destructor called for: ") + name_);
|
||||
}
|
||||
protected:
|
||||
ComplexNode(std::string name) : BaseNode(std::move(name)) {
|
||||
ComplexNode(std::string name, std::string kind) :
|
||||
BaseNode(std::move(name), std::move(kind)) {
|
||||
Logger::get("ConDes").dbg(std::string("--- Complex constructor called for: ") + name_);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -27,14 +27,12 @@ public:
|
||||
const Config& config() const { return config_; }
|
||||
private:
|
||||
friend class FabricMixin<HTBNode>;
|
||||
HTBNode(std::string&& name) : ComplexNode(std::move(name)) {
|
||||
kind_ = "HTB";
|
||||
HTBNode(std::string&& name) : ComplexNode(std::move(name), "HTB") {
|
||||
Logger::get("ConDes").dbg(std::string("--- HTB constructor called for: ") + name_);
|
||||
}
|
||||
|
||||
HTBNode(std::string&& name, Config&& config) : ComplexNode(std::move(name)),
|
||||
HTBNode(std::string&& name, Config&& config) : ComplexNode(std::move(name), "HTB"),
|
||||
config_(std::move(config)) {
|
||||
kind_ = "HTB";
|
||||
Logger::get("ConDes").dbg(std::string("--- HTB constructor called for: ") + name_);
|
||||
}
|
||||
|
||||
|
||||
@@ -15,8 +15,8 @@ public:
|
||||
Logger::get("ConDes").dbg(std::string("--- Leaf destructor called for: ") + name_);
|
||||
}
|
||||
protected:
|
||||
LeafNode(std::string name, std::string kind) : BaseNode(std::move(name)) {
|
||||
kind_ = std::move(kind);
|
||||
LeafNode(std::string name, std::string kind) :
|
||||
BaseNode(std::move(name), std::move(kind)) {
|
||||
Logger::get("ConDes").dbg(std::string("--- Leaf constructor called for: ") + name_ + ", kind=" + kind_);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -31,14 +31,12 @@ public:
|
||||
const Config& config() const { return config_; }
|
||||
private:
|
||||
friend class FabricMixin<SFQNode>;
|
||||
SFQNode(std::string&& name) : BaseNode(std::move(name)) {
|
||||
kind_ = "SFQ";
|
||||
SFQNode(std::string&& name) : BaseNode(std::move(name), "SFQ") {
|
||||
Logger::get("ConDes").dbg(std::string("--- SFQ constructor called for: ") + name_);
|
||||
}
|
||||
|
||||
SFQNode(std::string&& name, Config&& config)
|
||||
: BaseNode(std::move(name)), config_(std::move(config)) {
|
||||
kind_ = "SFQ";
|
||||
SFQNode(std::string&& name, Config&& config) : BaseNode(std::move(name), "SFQ"),
|
||||
config_(std::move(config)) {
|
||||
Logger::get("ConDes").dbg(std::string("--- SFQ constructor called for: ") + name_);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,14 +29,12 @@ public:
|
||||
const Config& config() const { return config_; }
|
||||
private:
|
||||
friend class FabricMixin<WREDNode>;
|
||||
WREDNode(std::string&& name) : BaseNode(std::move(name)) {
|
||||
kind_ = "WRED";
|
||||
WREDNode(std::string&& name) : BaseNode(std::move(name), "WRED") {
|
||||
Logger::get("ConDes").dbg(std::string("--- WRED constructor called for: ") + name_);
|
||||
}
|
||||
|
||||
WREDNode(std::string&& name, Config&& config)
|
||||
: BaseNode(std::move(name)), config_(std::move(config)) {
|
||||
kind_ = "WRED";
|
||||
WREDNode(std::string&& name, Config&& config) : BaseNode(std::move(name), "WRED"),
|
||||
config_(std::move(config)) {
|
||||
Logger::get("ConDes").dbg(std::string("--- WRED constructor called for: ") + name_);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user